mirror of
https://github.com/kdave/btrfs-progs
synced 2025-02-28 07:50:32 +00:00
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:
parent
4e85e48188
commit
1c1ac30d93
@ -1002,7 +1002,7 @@ int btrfs_scan_fs_devices(int fd, const char *path,
|
||||
}
|
||||
|
||||
if (total_devs != 1) {
|
||||
ret = btrfs_scan_for_fsid(run_ioctl);
|
||||
ret = scan_for_btrfs(BTRFS_SCAN_PROC, run_ioctl);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
12
utils.c
12
utils.c
@ -1148,7 +1148,7 @@ int check_mounted_where(int fd, const char *file, char *where, int size,
|
||||
|
||||
/* scan other devices */
|
||||
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;
|
||||
}
|
||||
|
||||
@ -1336,16 +1336,6 @@ fail:
|
||||
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 super_offset)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user