aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@redhat.com>2013-10-15 19:45:17 -0400
committerJan Kara <jack@suse.cz>2013-10-16 08:29:17 -0400
commit2046fd1873886e8c774d7c1b0961624c164e7db2 (patch)
tree93678383a720cd98ee5bd2dac432ecd67bdabfce
parent61e6cfa80de5760bbe406f4e815b7739205754d2 (diff)
ext3: Count journal as bsddf overhead in ext3_statfs
ext4 counts journal space as bsddf overhead, but ext3 does not. For some reason when I patched ext4 I thought I should leave ext3 alone, but frankly it makes more sense to fix it, I think. Otherwise we get inconsistent behavior from ext3 under ext3.ko, and ext3 under ext4.ko, which is not at all desirable... This is testable by xfstests shared/289, though it will need modification because it currently special-cases ext3. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Jan Kara <jack@suse.cz>
-rw-r--r--fs/ext3/super.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ext3/super.c b/fs/ext3/super.c
index c50c76190373..37fd31ed16e7 100644
--- a/fs/ext3/super.c
+++ b/fs/ext3/super.c
@@ -2825,6 +2825,10 @@ static int ext3_statfs (struct dentry * dentry, struct kstatfs * buf)
2825 * bitmap, and an inode table. 2825 * bitmap, and an inode table.
2826 */ 2826 */
2827 overhead += ngroups * (2 + sbi->s_itb_per_group); 2827 overhead += ngroups * (2 + sbi->s_itb_per_group);
2828
2829 /* Add the journal blocks as well */
2830 overhead += sbi->s_journal->j_maxlen;
2831
2828 sbi->s_overhead_last = overhead; 2832 sbi->s_overhead_last = overhead;
2829 smp_wmb(); 2833 smp_wmb();
2830 sbi->s_blocks_last = le32_to_cpu(es->s_blocks_count); 2834 sbi->s_blocks_last = le32_to_cpu(es->s_blocks_count);