btrfs-progs: scan /proc/partitions not all of /dev with "-d"

We can scan for btrfs devices in a few ways.  By default
libblkid is used for "device scan" and "filesystem show";
with the -m option only mounted filesystems are scanned,
and with -d we physically read every system device.

But there's no reason for the complexity of a descent through
/dev; /proc/partitions has every device known to the kernel, so
just use that when -d is specified.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
This commit is contained in:
Eric Sandeen 2014-08-20 17:22:13 -05:00 committed by David Sterba
parent 6420192e87
commit 4e85e48188
2 changed files with 4 additions and 4 deletions

View File

@ -223,7 +223,7 @@ static int cmd_scan_dev(int argc, char **argv)
break;
switch (c) {
case 'd':
where = BTRFS_SCAN_DEV;
where = BTRFS_SCAN_PROC;
all = 1;
break;
default:

View File

@ -568,7 +568,7 @@ static int cmd_show(int argc, char **argv)
break;
switch (c) {
case 'd':
where = BTRFS_SCAN_DEV;
where = BTRFS_SCAN_PROC;
break;
case 'm':
where = BTRFS_SCAN_MOUNTED;
@ -592,7 +592,7 @@ static int cmd_show(int argc, char **argv)
* right away
*/
if (type == BTRFS_ARG_BLKDEV) {
if (where == BTRFS_SCAN_DEV) {
if (where == BTRFS_SCAN_PROC) {
/* we need to do this because
* legacy BTRFS_SCAN_DEV
* provides /dev/dm-x paths
@ -623,7 +623,7 @@ static int cmd_show(int argc, char **argv)
}
}
if (where == BTRFS_SCAN_DEV)
if (where == BTRFS_SCAN_PROC)
goto devs_only;
/* show mounted btrfs */