summaryrefslogtreecommitdiff
path: root/fs/ext4/super.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2012-05-21 11:42:02 -0400
committerTheodore Ts'o <tytso@mit.edu>2012-05-21 11:42:02 -0400
commitf32aaf2d2b996b14e993da1c23f7ee22ea7333a3 (patch)
tree8ba6ce1e09319f0a62b69436aade6e06fe76c085 /fs/ext4/super.c
parentb09de7fa5217bbcb4caf3d19bd5e94816947ff7a (diff)
downloadlwn-f32aaf2d2b996b14e993da1c23f7ee22ea7333a3.tar.gz
lwn-f32aaf2d2b996b14e993da1c23f7ee22ea7333a3.zip
ext4: enable the 64-bit jbd2 feature based on the 64-bit ext4 feature
Previously we were only enabling the 64-bit jbd2 feature if the number of blocks in the file system was greater 2**32-1. The problem with this is that it makes it harder to test the 64-bit journal code paths with small file systems, since a small test file system would with the 64-bit ext4 feature enable would use a 64-bit file system on-disk data structures, but use a 32-bit journal. This would also cause problems when trying to do an online resize to grow the filesystem above the 2**32-1 boundary. Fortunately the patch to support online resize for 64-bit file systems hasn't been merged yet, so this problem hasn't arisen in practice. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r--fs/ext4/super.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index c18c5968cd96..88c2054fb938 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -3603,7 +3603,7 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
goto no_journal;
}
- if (ext4_blocks_count(es) > 0xffffffffULL &&
+ if (EXT4_HAS_INCOMPAT_FEATURE(sb, EXT4_FEATURE_INCOMPAT_64BIT) &&
!jbd2_journal_set_features(EXT4_SB(sb)->s_journal, 0, 0,
JBD2_FEATURE_INCOMPAT_64BIT)) {
ext4_msg(sb, KERN_ERR, "Failed to set 64-bit journal feature");