|
@@ -724,8 +724,7 @@ error_brelse:
|
|
|
* Add new device to list of registered devices
|
|
|
*
|
|
|
* Returns:
|
|
|
- * 1 - first time device is seen
|
|
|
- * 0 - device already known
|
|
|
+ * 0 - device already known or newly added
|
|
|
* < 0 - error
|
|
|
*/
|
|
|
static noinline int device_list_add(const char *path,
|
|
@@ -735,7 +734,6 @@ static noinline int device_list_add(const char *path,
|
|
|
struct btrfs_device *device;
|
|
|
struct btrfs_fs_devices *fs_devices;
|
|
|
struct rcu_string *name;
|
|
|
- int ret = 0;
|
|
|
u64 found_transid = btrfs_super_generation(disk_super);
|
|
|
|
|
|
fs_devices = find_fsid(disk_super->fsid);
|
|
@@ -775,9 +773,16 @@ static noinline int device_list_add(const char *path,
|
|
|
fs_devices->num_devices++;
|
|
|
mutex_unlock(&fs_devices->device_list_mutex);
|
|
|
|
|
|
- ret = 1;
|
|
|
device->fs_devices = fs_devices;
|
|
|
btrfs_free_stale_devices(path, device);
|
|
|
+
|
|
|
+ if (disk_super->label[0])
|
|
|
+ pr_info("BTRFS: device label %s devid %llu transid %llu %s\n",
|
|
|
+ disk_super->label, devid, found_transid, path);
|
|
|
+ else
|
|
|
+ pr_info("BTRFS: device fsid %pU devid %llu transid %llu %s\n",
|
|
|
+ disk_super->fsid, devid, found_transid, path);
|
|
|
+
|
|
|
} else if (!device->name || strcmp(device->name->str, path)) {
|
|
|
/*
|
|
|
* When FS is already mounted.
|
|
@@ -838,7 +843,7 @@ static noinline int device_list_add(const char *path,
|
|
|
|
|
|
*fs_devices_ret = fs_devices;
|
|
|
|
|
|
- return ret;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
static struct btrfs_fs_devices *clone_fs_devices(struct btrfs_fs_devices *orig)
|
|
@@ -1177,7 +1182,6 @@ int btrfs_scan_one_device(const char *path, fmode_t flags, void *holder,
|
|
|
struct page *page;
|
|
|
int ret;
|
|
|
u64 devid;
|
|
|
- u64 transid;
|
|
|
u64 total_devices;
|
|
|
u64 bytenr;
|
|
|
|
|
@@ -1203,19 +1207,9 @@ int btrfs_scan_one_device(const char *path, fmode_t flags, void *holder,
|
|
|
}
|
|
|
|
|
|
devid = btrfs_stack_device_id(&disk_super->dev_item);
|
|
|
- transid = btrfs_super_generation(disk_super);
|
|
|
total_devices = btrfs_super_num_devices(disk_super);
|
|
|
|
|
|
ret = device_list_add(path, disk_super, devid, fs_devices_ret);
|
|
|
- if (ret > 0) {
|
|
|
- if (disk_super->label[0])
|
|
|
- pr_info("BTRFS: device label %s ", disk_super->label);
|
|
|
- else
|
|
|
- pr_info("BTRFS: device fsid %pU ", disk_super->fsid);
|
|
|
-
|
|
|
- pr_cont("devid %llu transid %llu %s\n", devid, transid, path);
|
|
|
- ret = 0;
|
|
|
- }
|
|
|
if (!ret && fs_devices_ret)
|
|
|
(*fs_devices_ret)->total_devices = total_devices;
|
|
|
|