forked from Mirrors/btrfs-progs
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 <dsterba@suse.com>master
parent
5082ec84a8
commit
a15294f0c4
17
print-tree.c
17
print-tree.c
|
@ -516,15 +516,14 @@ static void print_root_ref(struct extent_buffer *leaf, int slot, char *tag)
|
||||||
namelen, namebuf);
|
namelen, namebuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int count_bytes(void *buf, int len, char b)
|
static int empty_uuid(const u8 *uuid)
|
||||||
{
|
{
|
||||||
int cnt = 0;
|
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < len; i++) {
|
|
||||||
if (((char*)buf)[i] == b)
|
for (i = 0; i < BTRFS_UUID_SIZE; i++)
|
||||||
cnt++;
|
if (uuid[i])
|
||||||
}
|
return 0;
|
||||||
return cnt;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -570,11 +569,11 @@ static void print_root(struct extent_buffer *leaf, int slot)
|
||||||
if (root_item.generation == root_item.generation_v2) {
|
if (root_item.generation == root_item.generation_v2) {
|
||||||
uuid_unparse(root_item.uuid, uuid_str);
|
uuid_unparse(root_item.uuid, uuid_str);
|
||||||
printf("\t\tuuid %s\n", 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);
|
uuid_unparse(root_item.parent_uuid, uuid_str);
|
||||||
printf("\t\tparent_uuid %s\n", 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);
|
uuid_unparse(root_item.received_uuid, uuid_str);
|
||||||
printf("\t\treceived_uuid %s\n", uuid_str);
|
printf("\t\treceived_uuid %s\n", uuid_str);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue