linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] btrfs: make block group flags in balance printks human-readable
@ 2016-11-04  7:26 Adam Borowski
  2016-11-07 14:11 ` Holger Hoffstätte
  2016-11-07 16:58 ` David Sterba
  0 siblings, 2 replies; 10+ messages in thread
From: Adam Borowski @ 2016-11-04  7:26 UTC (permalink / raw)
  To: Josef Bacik, David Sterba, linux-btrfs; +Cc: Adam Borowski

They're not even documented anywhere, letting users with no recourse but
to RTFS.  It's no big burden to output the bitfield as words.

Also, display unknown flags as hex.

Signed-off-by: Adam Borowski <kilobyte@angband.pl>
---
 fs/btrfs/relocation.c | 34 ++++++++++++++++++++++++++++++++--
 1 file changed, 32 insertions(+), 2 deletions(-)

diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
index 0ec8ffa..388216f 100644
--- a/fs/btrfs/relocation.c
+++ b/fs/btrfs/relocation.c
@@ -4326,6 +4326,34 @@ static struct reloc_control *alloc_reloc_control(struct btrfs_fs_info *fs_info)
 }
 
 /*
+ * explain bit flags, prefixed by a '|' that'll be dropped
+ */
+static void describe_block_group_flags(char *buf, u64 flags)
+{
+	if (!flags)
+		*buf += sprintf(buf, "|NONE");
+	else {
+#define DESCRIBE_FLAG(f, d) \
+			if (flags & BTRFS_BLOCK_GROUP_##f) { \
+				buf += sprintf(buf, "|%s", d); \
+				flags &= ~BTRFS_BLOCK_GROUP_##f; \
+			}
+		DESCRIBE_FLAG(DATA,     "data");
+		DESCRIBE_FLAG(SYSTEM,   "system");
+		DESCRIBE_FLAG(METADATA, "metadata");
+		DESCRIBE_FLAG(RAID0,    "raid0");
+		DESCRIBE_FLAG(RAID1,    "raid1");
+		DESCRIBE_FLAG(DUP,      "dup");
+		DESCRIBE_FLAG(RAID10,   "raid10");
+		DESCRIBE_FLAG(RAID5,    "raid5");
+		DESCRIBE_FLAG(RAID6,    "raid6");
+		if (flags)
+			buf += sprintf(buf, "|0x%llx", flags);
+	}
+	*buf = 0;
+}
+
+/*
  * function to relocate all extents in a block group.
  */
 int btrfs_relocate_block_group(struct btrfs_root *extent_root, u64 group_start)
@@ -4337,6 +4365,7 @@ int btrfs_relocate_block_group(struct btrfs_root *extent_root, u64 group_start)
 	int ret;
 	int rw = 0;
 	int err = 0;
+	char flags_str[128];
 
 	rc = alloc_reloc_control(fs_info);
 	if (!rc)
@@ -4381,9 +4410,10 @@ int btrfs_relocate_block_group(struct btrfs_root *extent_root, u64 group_start)
 		goto out;
 	}
 
+	describe_block_group_flags(flags_str, rc->block_group->flags);
 	btrfs_info(extent_root->fs_info,
-		   "relocating block group %llu flags %llu",
-		   rc->block_group->key.objectid, rc->block_group->flags);
+		   "relocating block group %llu flags %s",
+		   rc->block_group->key.objectid, flags_str+1);
 
 	btrfs_wait_block_group_reservations(rc->block_group);
 	btrfs_wait_nocow_writers(rc->block_group);
-- 
2.10.2


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-11-14 18:24 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-04  7:26 [PATCH] btrfs: make block group flags in balance printks human-readable Adam Borowski
2016-11-07 14:11 ` Holger Hoffstätte
2016-11-07 16:58 ` David Sterba
2016-11-07 21:38   ` Adam Borowski
2016-11-07 21:40     ` [PATCH v2] " Adam Borowski
2016-11-08 13:42       ` Holger Hoffstätte
2016-11-11 23:59         ` [PATCH v3-onstack] " Adam Borowski
2016-11-14 16:37           ` David Sterba
2016-11-14 17:44             ` [PATCH v4] " Adam Borowski
2016-11-14 18:24               ` David Sterba

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).