Currently the messages printed after setting an incompat feature are
cryptis, we can easily make it better as the textual description is
passed to the helpers. Old:

  setting 128 feature flag

updated:

  setting incompat feature flag for RAID56 (0x80)

Signed-off-by: David Sterba <dste...@suse.com>
---
 fs/btrfs/ctree.h | 40 ++++++++++++++++++++++++----------------
 1 file changed, 24 insertions(+), 16 deletions(-)

diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index fb7435533478..6df4911c8f8d 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -3620,10 +3620,11 @@ do {                                                    
                \
 /* compatibility and incompatibility defines */
 
 #define btrfs_set_fs_incompat(__fs_info, opt) \
-       __btrfs_set_fs_incompat((__fs_info), BTRFS_FEATURE_INCOMPAT_##opt)
+       __btrfs_set_fs_incompat((__fs_info), BTRFS_FEATURE_INCOMPAT_##opt, \
+                               #opt)
 
 static inline void __btrfs_set_fs_incompat(struct btrfs_fs_info *fs_info,
-                                          u64 flag)
+                                          u64 flag, const char* name)
 {
        struct btrfs_super_block *disk_super;
        u64 features;
@@ -3636,18 +3637,20 @@ static inline void __btrfs_set_fs_incompat(struct 
btrfs_fs_info *fs_info,
                if (!(features & flag)) {
                        features |= flag;
                        btrfs_set_super_incompat_flags(disk_super, features);
-                       btrfs_info(fs_info, "setting %llu feature flag",
-                                        flag);
+                       btrfs_info(fs_info,
+                               "setting incompat feature flag for %s (0x%llx)",
+                               name, flag);
                }
                spin_unlock(&fs_info->super_lock);
        }
 }
 
 #define btrfs_clear_fs_incompat(__fs_info, opt) \
-       __btrfs_clear_fs_incompat((__fs_info), BTRFS_FEATURE_INCOMPAT_##opt)
+       __btrfs_clear_fs_incompat((__fs_info), BTRFS_FEATURE_INCOMPAT_##opt, \
+                                 #opt)
 
 static inline void __btrfs_clear_fs_incompat(struct btrfs_fs_info *fs_info,
-                                            u64 flag)
+                                            u64 flag, const char* name)
 {
        struct btrfs_super_block *disk_super;
        u64 features;
@@ -3660,8 +3663,9 @@ static inline void __btrfs_clear_fs_incompat(struct 
btrfs_fs_info *fs_info,
                if (features & flag) {
                        features &= ~flag;
                        btrfs_set_super_incompat_flags(disk_super, features);
-                       btrfs_info(fs_info, "clearing %llu feature flag",
-                                        flag);
+                       btrfs_info(fs_info,
+                               "clearing incompat feature flag for %s 
(0x%llx)",
+                               name, flag);
                }
                spin_unlock(&fs_info->super_lock);
        }
@@ -3678,10 +3682,11 @@ static inline bool __btrfs_fs_incompat(struct 
btrfs_fs_info *fs_info, u64 flag)
 }
 
 #define btrfs_set_fs_compat_ro(__fs_info, opt) \
-       __btrfs_set_fs_compat_ro((__fs_info), BTRFS_FEATURE_COMPAT_RO_##opt)
+       __btrfs_set_fs_compat_ro((__fs_info), BTRFS_FEATURE_COMPAT_RO_##opt, \
+                                #opt)
 
 static inline void __btrfs_set_fs_compat_ro(struct btrfs_fs_info *fs_info,
-                                           u64 flag)
+                                           u64 flag, const char *name)
 {
        struct btrfs_super_block *disk_super;
        u64 features;
@@ -3694,18 +3699,20 @@ static inline void __btrfs_set_fs_compat_ro(struct 
btrfs_fs_info *fs_info,
                if (!(features & flag)) {
                        features |= flag;
                        btrfs_set_super_compat_ro_flags(disk_super, features);
-                       btrfs_info(fs_info, "setting %llu ro feature flag",
-                                  flag);
+                       btrfs_info(fs_info,
+                               "setting compat-ro feature flag for %s 
(0x%llx)",
+                               name, flag);
                }
                spin_unlock(&fs_info->super_lock);
        }
 }
 
 #define btrfs_clear_fs_compat_ro(__fs_info, opt) \
-       __btrfs_clear_fs_compat_ro((__fs_info), BTRFS_FEATURE_COMPAT_RO_##opt)
+       __btrfs_clear_fs_compat_ro((__fs_info), BTRFS_FEATURE_COMPAT_RO_##opt, \
+                                  #opt)
 
 static inline void __btrfs_clear_fs_compat_ro(struct btrfs_fs_info *fs_info,
-                                             u64 flag)
+                                             u64 flag, const char *name)
 {
        struct btrfs_super_block *disk_super;
        u64 features;
@@ -3718,8 +3725,9 @@ static inline void __btrfs_clear_fs_compat_ro(struct 
btrfs_fs_info *fs_info,
                if (features & flag) {
                        features &= ~flag;
                        btrfs_set_super_compat_ro_flags(disk_super, features);
-                       btrfs_info(fs_info, "clearing %llu ro feature flag",
-                                  flag);
+                       btrfs_info(fs_info,
+                               "clearing compat-ro feature flag for %s 
(0x%llx)",
+                               name, flag);
                }
                spin_unlock(&fs_info->super_lock);
        }
-- 
2.21.0

Reply via email to