]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
btrfs: set default compress type at btrfs_init_fs_info time
authorJosef Bacik <josef@toxicpanda.com>
Wed, 22 Nov 2023 17:17:39 +0000 (12:17 -0500)
committerDavid Sterba <dsterba@suse.com>
Fri, 15 Dec 2023 19:27:03 +0000 (20:27 +0100)
With the new mount API we'll be setting our compression well before we
call open_ctree.  We don't want to overwrite our settings, so set the
default in btrfs_init_fs_info instead of open_ctree.

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Acked-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/disk-io.c

index 125b749d2c6f8c112000f04adb0fc93aba25084d..969887b2f8fe1ba2c69e4be59c2402fc728fac41 100644 (file)
@@ -2807,6 +2807,9 @@ void btrfs_init_fs_info(struct btrfs_fs_info *fs_info)
        fs_info->sectorsize_bits = ilog2(4096);
        fs_info->stripesize = 4096;
 
+       /* Default compress algorithm when user does -o compress */
+       fs_info->compress_type = BTRFS_COMPRESS_ZLIB;
+
        fs_info->max_extent_size = BTRFS_MAX_EXTENT_SIZE;
 
        spin_lock_init(&fs_info->swapfile_pins_lock);
@@ -3289,13 +3292,6 @@ int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_device
        if (btrfs_super_flags(disk_super) & BTRFS_SUPER_FLAG_ERROR)
                WRITE_ONCE(fs_info->fs_error, -EUCLEAN);
 
-       /*
-        * In the long term, we'll store the compression type in the super
-        * block, and it'll be used for per file compression control.
-        */
-       fs_info->compress_type = BTRFS_COMPRESS_ZLIB;
-
-
        /* Set up fs_info before parsing mount options */
        nodesize = btrfs_super_nodesize(disk_super);
        sectorsize = btrfs_super_sectorsize(disk_super);