summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmds-device.c2
-rw-r--r--utils.c16
2 files changed, 9 insertions, 9 deletions
diff --git a/cmds-device.c b/cmds-device.c
index fff05e4c..a8f10f6d 100644
--- a/cmds-device.c
+++ b/cmds-device.c
@@ -254,7 +254,7 @@ static int cmd_device_scan(int argc, char **argv)
ret = btrfs_scan_lblkid();
error_on(ret, "error %d while scanning", ret);
ret = btrfs_register_all_devices();
- error_on(ret, "error %d while registering devices", ret);
+ error_on(ret, "there are %d errors while registering devices", ret);
goto out;
}
diff --git a/utils.c b/utils.c
index 7d5537fc..d7ceaa8c 100644
--- a/utils.c
+++ b/utils.c
@@ -1545,7 +1545,8 @@ int btrfs_register_one_device(const char *fname)
*/
int btrfs_register_all_devices(void)
{
- int err;
+ int err = 0;
+ int ret = 0;
struct btrfs_fs_devices *fs_devices;
struct btrfs_device *device;
struct list_head *all_uuids;
@@ -1554,16 +1555,15 @@ int btrfs_register_all_devices(void)
list_for_each_entry(fs_devices, all_uuids, list) {
list_for_each_entry(device, &fs_devices->devices, dev_list) {
- if (*device->name) {
+ if (*device->name)
err = btrfs_register_one_device(device->name);
- if (err < 0)
- return err;
- if (err > 0)
- return -err;
- }
+
+ if (err)
+ ret++;
}
}
- return 0;
+
+ return ret;
}
int btrfs_device_already_in_root(struct btrfs_root *root, int fd,