From a15294f0c4fa56c0402e7b23ce6dff3508da0be5 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Wed, 2 Nov 2016 10:22:10 +0100 Subject: btrfs-progs: dump-tree: simplify and fix check for empty uuid Counting non-zero bytes is wasteful, besides that it would not recognize uuids containing a 00 value. Signed-off-by: David Sterba --- print-tree.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/print-tree.c b/print-tree.c index 0f55607e..4ecf1004 100644 --- a/print-tree.c +++ b/print-tree.c @@ -516,15 +516,14 @@ static void print_root_ref(struct extent_buffer *leaf, int slot, char *tag) namelen, namebuf); } -static int count_bytes(void *buf, int len, char b) +static int empty_uuid(const u8 *uuid) { - int cnt = 0; int i; - for (i = 0; i < len; i++) { - if (((char*)buf)[i] == b) - cnt++; - } - return cnt; + + for (i = 0; i < BTRFS_UUID_SIZE; i++) + if (uuid[i]) + return 0; + return 1; } /* @@ -570,11 +569,11 @@ static void print_root(struct extent_buffer *leaf, int slot) if (root_item.generation == root_item.generation_v2) { uuid_unparse(root_item.uuid, uuid_str); printf("\t\tuuid %s\n", uuid_str); - if (count_bytes(root_item.parent_uuid, BTRFS_UUID_SIZE, 0) != BTRFS_UUID_SIZE) { + if (!empty_uuid(root_item.parent_uuid)) { uuid_unparse(root_item.parent_uuid, uuid_str); printf("\t\tparent_uuid %s\n", uuid_str); } - if (count_bytes(root_item.received_uuid, BTRFS_UUID_SIZE, 0) != BTRFS_UUID_SIZE) { + if (!empty_uuid(root_item.received_uuid)) { uuid_unparse(root_item.received_uuid, uuid_str); printf("\t\treceived_uuid %s\n", uuid_str); } -- cgit v1.2.3