The journal blocks of external journal device should not
be counted as overhead.
Signed-off-by: Chin-Tsung Cheng <[email protected]>
---
fs/ext4/super.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 32b43ad..a80b122 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -3316,8 +3316,8 @@ 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)
+ /* Add the internal journal blocks as well */
+ if (sbi->s_journal && !sbi->journal_bdev)
overhead += EXT4_NUM_B2C(sbi, sbi->s_journal->j_maxlen);
sbi->s_overhead = overhead;
--
1.9.3
On Fri, Aug 15, 2014 at 02:42:51PM +0800, Chin-Tsung Cheng wrote:
> The journal blocks of external journal device should not
> be counted as overhead.
Hi Ted,
Would you mind queueing this one up for 3.17? It fixes this problem:
# df /mnt
/dev/sda 64Z 64Z 2.8G 100% /mnt
...which is a regression introduced in commit 0875a2b448 ("ext4: include
journal blocks in df overhead calcs") when one creates an ext4 with an
external journal.
It doesn't look like this patch is in any upstream tree.
--D
>
> Signed-off-by: Chin-Tsung Cheng <[email protected]>
> ---
> fs/ext4/super.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index 32b43ad..a80b122 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -3316,8 +3316,8 @@ 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)
> + /* Add the internal journal blocks as well */
> + if (sbi->s_journal && !sbi->journal_bdev)
> overhead += EXT4_NUM_B2C(sbi, sbi->s_journal->j_maxlen);
>
> sbi->s_overhead = overhead;
> --
> 1.9.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html