[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <54664C73.60409@redhat.com>
Date: Fri, 14 Nov 2014 12:39:47 -0600
From: Eric Sandeen <sandeen@...hat.com>
To: ext4 development <linux-ext4@...r.kernel.org>
Subject: [PATCH] ext4: don't count external journal blocks as overhead
This was fixed for ext3 with:
e6d8fb3 ext3: Count internal journal as bsddf overhead in ext3_statfs
but was never fixed for ext4.
With a large external journal and no used disk blocks, df comes
out negative without this, as journal blocks are added to the
overhead & subtracted from used blocks unconditionally.
Signed-off-by: Eric Sandeen <sandeen@...hat.com>
---
ps: since this is stored in the on-disk superblock now, I'm not
sure how to fix up old filesystems, or if it matters much.
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 2c9e686..9674578 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -3338,8 +3338,8 @@ 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)
+ /* Add the internal journal blocks as well */
+ if (sbi->s_journal && !sbi->journal_bdev)
overhead += EXT4_NUM_B2C(sbi, sbi->s_journal->j_maxlen);
sbi->s_overhead = overhead;
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists