btrfs: don't print information about space cache or tree every remount
authorMaciej S. Szmigiero <maciej.szmigiero@oracle.com>
Tue, 23 Aug 2022 15:28:20 +0000 (17:28 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 26 Sep 2022 10:27:58 +0000 (12:27 +0200)
btrfs currently prints information about space cache or free space tree
being in use on every remount, regardless whether such remount actually
enabled or disabled one of these features.

This is actually unnecessary since providing remount options changing the
state of these features will explicitly print the appropriate notice.

Let's instead print such unconditional information just on an initial mount
to avoid filling the kernel log when, for example, laptop-mode-tools
remount the fs on some events.

Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/super.c

index f89beac..f1c6ca5 100644 (file)
@@ -626,6 +626,7 @@ int btrfs_parse_options(struct btrfs_fs_info *info, char *options,
        int saved_compress_level;
        bool saved_compress_force;
        int no_compress = 0;
+       const bool remounting = test_bit(BTRFS_FS_STATE_REMOUNTING, &info->fs_state);
 
        if (btrfs_fs_compat_ro(info, FREE_SPACE_TREE))
                btrfs_set_opt(info->mount_opt, FREE_SPACE_TREE);
@@ -1137,10 +1138,12 @@ out:
        }
        if (!ret)
                ret = btrfs_check_mountopts_zoned(info);
-       if (!ret && btrfs_test_opt(info, SPACE_CACHE))
-               btrfs_info(info, "disk space caching is enabled");
-       if (!ret && btrfs_test_opt(info, FREE_SPACE_TREE))
-               btrfs_info(info, "using free space tree");
+       if (!ret && !remounting) {
+               if (btrfs_test_opt(info, SPACE_CACHE))
+                       btrfs_info(info, "disk space caching is enabled");
+               if (btrfs_test_opt(info, FREE_SPACE_TREE))
+                       btrfs_info(info, "using free space tree");
+       }
        return ret;
 }