]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
ext4: enable the 64-bit jbd2 feature based on the 64-bit ext4 feature
authorTheodore Ts'o <tytso@mit.edu>
Mon, 21 May 2012 15:42:02 +0000 (11:42 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 21 May 2012 15:42:02 +0000 (11:42 -0400)
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>
fs/ext4/super.c

index c18c5968cd967779eca54894194c01ebf22aa0c0..88c2054fb9383a7bca7e2dc1d6119ae937cd813a 100644 (file)
@@ -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");