btrfs-progs: add function to stringify filesystem features
authorDavid Sterba <dsterba@suse.cz>
Thu, 4 Jun 2015 17:08:15 +0000 (19:08 +0200)
committerDavid Sterba <dsterba@suse.cz>
Thu, 4 Jun 2015 17:10:55 +0000 (19:10 +0200)
Signed-off-by: David Sterba <dsterba@suse.cz>
utils.c
utils.h

diff --git a/utils.c b/utils.c
index eede72f..4554f0d 100644 (file)
--- a/utils.c
+++ b/utils.c
@@ -593,6 +593,21 @@ static int parse_one_fs_feature(const char *name, u64 *flags)
        return !found;
 }
 
+void btrfs_parse_features_to_string(char *buf, u64 flags)
+{
+       int i;
+
+       buf[0] = 0;
+
+       for (i = 0; i < ARRAY_SIZE(mkfs_features); i++) {
+               if (flags & mkfs_features[i].flag) {
+                       if (*buf)
+                               strcat(buf, ", ");
+                       strcat(buf, mkfs_features[i].name);
+               }
+       }
+}
+
 void btrfs_process_fs_features(u64 flags)
 {
        int i;
diff --git a/utils.h b/utils.h
index a0057de..871cbd8 100644 (file)
--- a/utils.h
+++ b/utils.h
@@ -88,6 +88,7 @@ void units_set_base(unsigned *units, unsigned base);
 void btrfs_list_all_fs_features(u64 mask_disallowed);
 char* btrfs_parse_fs_features(char *namelist, u64 *flags);
 void btrfs_process_fs_features(u64 flags);
+void btrfs_parse_features_to_string(char *buf, u64 flags);
 
 int make_btrfs(int fd, const char *device, const char *label,
               char *fs_uuid, u64 blocks[6], u64 num_bytes, u32 nodesize,