summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnand Jain <anand.jain@oracle.com>2018-01-18 22:02:33 +0800
committerDavid Sterba <dsterba@suse.com>2018-01-22 20:25:54 +0100
commit327f18cc7f44bc09170200514f42e61bce25d022 (patch)
tree0d18afda02b5bbf8c3ba6a41ee907d75daab95a7
parentd8367db30a101123f82a9408c8c6dd3fb287653f (diff)
btrfs: move pr_info into device_list_add
Commit 60999ca4b403 ("btrfs: make device scan less noisy") adds return value 1 to device_list_add(), so that parent function can call pr_info only when new device is added. Move the pr_info() part into device_list_add() so that this function can be kept simple. Signed-off-by: Anand Jain <anand.jain@oracle.com> Reviewed-by: Josef Bacik <jbacik@fb.com> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--fs/btrfs/volumes.c26
1 files changed, 10 insertions, 16 deletions
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index fe5ecc1d84ad..46228e9312b2 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -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;