diff options
author | Theodore Ts'o <tytso@mit.edu> | 2012-05-21 11:42:02 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2012-05-21 11:42:02 -0400 |
commit | f32aaf2d2b996b14e993da1c23f7ee22ea7333a3 (patch) | |
tree | 8ba6ce1e09319f0a62b69436aade6e06fe76c085 /fs/ext4/super.c | |
parent | b09de7fa5217bbcb4caf3d19bd5e94816947ff7a (diff) | |
download | lwn-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.c | 2 |
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"); |