summaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@redhat.com>2012-12-25 13:56:01 -0500
committerTheodore Ts'o <tytso@mit.edu>2012-12-25 13:56:01 -0500
commit0875a2b448fcaba67010850cf9649293a5ef653d (patch)
tree520abd528cf70057950c4d3f77c0af4e59da93cd /fs/ext4
parenta28a9178e8fcd9b94f7333184ce78e816c8cb2af (diff)
downloadlinux-0875a2b448fcaba67010850cf9649293a5ef653d.tar.gz
linux-0875a2b448fcaba67010850cf9649293a5ef653d.tar.bz2
linux-0875a2b448fcaba67010850cf9649293a5ef653d.zip
ext4: include journal blocks in df overhead calcs
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 <sandeen@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Tested-by: Eric Whitney <enwlinux@gmail.com>
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/super.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index e09f7d1646ba..4969167ac267 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -3231,6 +3231,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);