btrfs-progs: don't fall back to recursive /dev scan

If we didn't find what we are looking for in /proc/partitions,
we're not going to find it by scanning every node under /dev, either.

But that's just what btrfs_scan_for_fsid() does.

Remove that fallback; at that point btrfs_scan_for_fsid() just calls
scan_for_btrfs(), so remove the wrapper & call it directly.

Side note: so, these paths always use /proc/partitions, not libblkid.
Userspace-intiated scans default to libblkid.  I presume this is
part of the design, and intentional?  Anyway, not changing it now!

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:23:20 -05:00 committed by David Sterba
parent 4e85e48188
commit 1c1ac30d93
2 changed files with 2 additions and 12 deletions

View File

@ -1002,7 +1002,7 @@ int btrfs_scan_fs_devices(int fd, const char *path,
} }
if (total_devs != 1) { if (total_devs != 1) {
ret = btrfs_scan_for_fsid(run_ioctl); ret = scan_for_btrfs(BTRFS_SCAN_PROC, run_ioctl);
if (ret) if (ret)
return ret; return ret;
} }

12
utils.c
View File

@ -1148,7 +1148,7 @@ int check_mounted_where(int fd, const char *file, char *where, int size,
/* scan other devices */ /* scan other devices */
if (is_btrfs && total_devs > 1) { if (is_btrfs && total_devs > 1) {
if ((ret = btrfs_scan_for_fsid(!BTRFS_UPDATE_KERNEL))) if ((ret = scan_for_btrfs(BTRFS_SCAN_PROC, !BTRFS_UPDATE_KERNEL)))
return ret; return ret;
} }
@ -1336,16 +1336,6 @@ fail:
return ret; return ret;
} }
int btrfs_scan_for_fsid(int run_ioctls)
{
int ret;
ret = scan_for_btrfs(BTRFS_SCAN_PROC, run_ioctls);
if (ret)
ret = scan_for_btrfs(BTRFS_SCAN_DEV, run_ioctls);
return ret;
}
int btrfs_device_already_in_root(struct btrfs_root *root, int fd, int btrfs_device_already_in_root(struct btrfs_root *root, int fd,
int super_offset) int super_offset)
{ {