diff options
author | Eric Sandeen <sandeen@redhat.com> | 2013-10-15 18:45:17 -0500 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2013-10-16 14:29:17 +0200 |
commit | 2046fd1873886e8c774d7c1b0961624c164e7db2 (patch) | |
tree | 93678383a720cd98ee5bd2dac432ecd67bdabfce /fs/ext3/super.c | |
parent | 61e6cfa80de5760bbe406f4e815b7739205754d2 (diff) | |
download | op-kernel-dev-2046fd1873886e8c774d7c1b0961624c164e7db2.zip op-kernel-dev-2046fd1873886e8c774d7c1b0961624c164e7db2.tar.gz |
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>
Diffstat (limited to 'fs/ext3/super.c')
-rw-r--r-- | fs/ext3/super.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ext3/super.c b/fs/ext3/super.c index c50c761..37fd31e 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) * bitmap, and an inode table. */ overhead += ngroups * (2 + sbi->s_itb_per_group); + + /* Add the journal blocks as well */ + overhead += sbi->s_journal->j_maxlen; + sbi->s_overhead_last = overhead; smp_wmb(); sbi->s_blocks_last = le32_to_cpu(es->s_blocks_count); |