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@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
parent
733ded2a80
commit
b003b52496
@ -3331,8 +3331,8 @@ int ext4_calculate_overhead(struct super_block *sb)
|
|||||||
memset(buf, 0, PAGE_SIZE);
|
memset(buf, 0, PAGE_SIZE);
|
||||||
cond_resched();
|
cond_resched();
|
||||||
}
|
}
|
||||||
/* Add the journal blocks as well */
|
/* Add the internal journal blocks as well */
|
||||||
if (sbi->s_journal)
|
if (sbi->s_journal && !sbi->journal_bdev)
|
||||||
overhead += EXT4_NUM_B2C(sbi, sbi->s_journal->j_maxlen);
|
overhead += EXT4_NUM_B2C(sbi, sbi->s_journal->j_maxlen);
|
||||||
|
|
||||||
sbi->s_overhead = overhead;
|
sbi->s_overhead = overhead;
|
||||||
|
Loading…
Reference in New Issue
Block a user