On 8/13/14, 6:37 AM, Chin-Tsung Cheng wrote: > The journal blocks of external journal device should not > be counted as overhead. > > Signed-off-by: Chin-Tsung Cheng <chintzung@xxxxxxxxx> Yep, I added this and didn't consider external journals, oops. Agree with Darrick that whitespace (and parens) aren't ideal... Is this a shorter test? if (sbi->s_journal && !sbi->journal_bdev) { overhead += EXT4_NUM_B2C(sbi, sbi->s_journal->j_maxlen); *sbi gets kzalloced and I *think* journal_bdev is only filled in for external journals... ext3_statfs probably needs the same treatment, it unconditionally does: /* Add the journal blocks as well */ overhead += sbi->s_journal->j_maxlen; -Eric > --- > fs/ext4/super.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/fs/ext4/super.c b/fs/ext4/super.c > index 32b43ad..03b2f62 100644 > --- a/fs/ext4/super.c > +++ b/fs/ext4/super.c > @@ -3316,9 +3316,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_NUM_B2C(sbi, sbi->s_journal->j_maxlen); > + /* Add the internal journal blocks as well */ > + if ((sbi->s_journal) && > + (sbi->s_journal->j_fs_dev == sbi->s_journal->j_dev)) > + overhead += EXT4_NUM_B2C(sbi, sbi->s_journal->j_maxlen); > > sbi->s_overhead = overhead; > smp_wmb(); > -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html