Currently if a new filesystem is created and interrogated with we get
an error:
truncate -s 3g btrfs.img
mkfs.btrfs btrfs.img
btrfs fi show btrfs.img
ERROR: not a valid btrfs filesystem: /root/btrfs.img
The reason is that the image is not automatically recognised by libblkid
meaning btrfs_scan_devices will not "see" the device, resulting in the
aofrementioned error.
Fix it by detecting when this condition occurs and pass the path to the
file to btrfs_scan_devices, which will correctly add it to libblkid's
cache.
Signed-off-by: Nikolay Borisov <nborisov@xxxxxxxx>
---
cmds-filesystem.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/cmds-filesystem.c b/cmds-filesystem.c
index 4657deb20fde..0327563154d5 100644
--- a/cmds-filesystem.c
+++ b/cmds-filesystem.c
@@ -771,8 +771,7 @@ static int cmd_filesystem_show(int argc, char **argv)
goto out;
devs_only:
- ret = btrfs_scan_devices(NULL);
-
+ ret = btrfs_scan_devices(type == BTRFS_ARG_REG ? search : NULL);
if (ret) {
error("blkid device scan returned %d", ret);
return 1;
--
2.7.4