From patchwork Wed Nov 28 21:48:24 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Sandeen X-Patchwork-Id: 202560 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 05F1F2C0080 for ; Thu, 29 Nov 2012 08:48:28 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755830Ab2K1Vs0 (ORCPT ); Wed, 28 Nov 2012 16:48:26 -0500 Received: from mx1.redhat.com ([209.132.183.28]:30222 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755752Ab2K1VsZ (ORCPT ); Wed, 28 Nov 2012 16:48:25 -0500 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id qASLmPqK015579 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 28 Nov 2012 16:48:25 -0500 Received: from liberator.sandeen.net (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id qASLmOTK009093 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 28 Nov 2012 16:48:24 -0500 Message-ID: <50B686A8.2010101@redhat.com> Date: Wed, 28 Nov 2012 15:48:24 -0600 From: Eric Sandeen User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20121026 Thunderbird/16.0.2 MIME-Version: 1.0 To: ext4 development CC: Eric Whitney Subject: [PATCH V2] ext4: include journal blocks in df overhead calcs References: <50B67949.60104@redhat.com> In-Reply-To: <50B67949.60104@redhat.com> X-Enigmail-Version: 1.4.6 X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org To more accurately calculate overhead for "bsd" style df reporting, we should count the journal blocks as overhead as well. Signed-off-by: Eric Sandeen Tested-by: Eric Whitney --- V2: I guess s_overhead _is_ in clusters, so do that conversion after all. Ted, if I'm wrong, you can pick the other patch ;) Editorial/soapbox: TBH it's hard to keep track of what fields are now stored as "clusters" not blocks . . . Esp. when we do things like use local vars named "blk" - blks = count_overhead(sb, i, buf); but count_overhead() returns *clusters*, so it's really quite confusing to keep it all straight. -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 80928f7..b441daa 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -3229,6 +3229,10 @@ int ext4_calculate_overhead(struct super_block *sb) memset(buf, 0, PAGE_SIZE); cond_resched(); } + /* Add the journal blocks as well */ + if (sbi->s_journal) + overhead += EXT4_B2C(sbi, sbi->s_journal->j_maxlen); + sbi->s_overhead = overhead; smp_wmb(); free_page((unsigned long) buf);