Btrfs-progs: make btrfs filesystem show <uuid> actually work
authorJosef Bacik <josef@redhat.com>
Wed, 25 Apr 2012 18:22:32 +0000 (14:22 -0400)
committerChris Mason <chris.mason@fusionio.com>
Tue, 3 Jul 2012 20:27:46 +0000 (16:27 -0400)
The btrfs filesystem show command is only actually searching for labels,
it's not searching for UUID's at all.  This patch fixes that problem.
Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
cmds-filesystem.c

index ea9e788..87f0717 100644 (file)
@@ -155,8 +155,15 @@ static int cmd_df(int argc, char **argv)
 
 static int uuid_search(struct btrfs_fs_devices *fs_devices, char *search)
 {
+       char uuidbuf[37];
        struct list_head *cur;
        struct btrfs_device *device;
+       int search_len = strlen(search);
+
+       search_len = min(search_len, 37);
+       uuid_unparse(fs_devices->fsid, uuidbuf);
+       if (!strncmp(uuidbuf, search, search_len))
+               return 1;
 
        list_for_each(cur, &fs_devices->devices) {
                device = list_entry(cur, struct btrfs_device, dev_list);