btrfs: make device scan less noisy
Print the message only when the device is seen for the first time. Signed-off-by: David Sterba <dsterba@suse.cz> Signed-off-by: Chris Mason <clm@fb.com>
This commit is contained in:
Родитель
ed55b6ac07
Коммит
60999ca4b4
|
@ -448,6 +448,14 @@ static void pending_bios_fn(struct btrfs_work *work)
|
|||
run_scheduled_bios(device);
|
||||
}
|
||||
|
||||
/*
|
||||
* Add new device to list of registered devices
|
||||
*
|
||||
* Returns:
|
||||
* 1 - first time device is seen
|
||||
* 0 - device already known
|
||||
* < 0 - error
|
||||
*/
|
||||
static noinline int device_list_add(const char *path,
|
||||
struct btrfs_super_block *disk_super,
|
||||
u64 devid, struct btrfs_fs_devices **fs_devices_ret)
|
||||
|
@ -455,6 +463,7 @@ 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);
|
||||
|
@ -495,6 +504,7 @@ 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;
|
||||
} else if (!device->name || strcmp(device->name->str, path)) {
|
||||
name = rcu_string_strdup(path, GFP_NOFS);
|
||||
|
@ -513,7 +523,8 @@ static noinline int device_list_add(const char *path,
|
|||
fs_devices->latest_trans = found_transid;
|
||||
}
|
||||
*fs_devices_ret = fs_devices;
|
||||
return 0;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static struct btrfs_fs_devices *clone_fs_devices(struct btrfs_fs_devices *orig)
|
||||
|
@ -910,17 +921,19 @@ int btrfs_scan_one_device(const char *path, fmode_t flags, void *holder,
|
|||
transid = btrfs_super_generation(disk_super);
|
||||
total_devices = btrfs_super_num_devices(disk_super);
|
||||
|
||||
if (disk_super->label[0]) {
|
||||
if (disk_super->label[BTRFS_LABEL_SIZE - 1])
|
||||
disk_super->label[BTRFS_LABEL_SIZE - 1] = '\0';
|
||||
printk(KERN_INFO "BTRFS: device label %s ", disk_super->label);
|
||||
} else {
|
||||
printk(KERN_INFO "BTRFS: device fsid %pU ", disk_super->fsid);
|
||||
}
|
||||
|
||||
printk(KERN_CONT "devid %llu transid %llu %s\n", devid, transid, path);
|
||||
|
||||
ret = device_list_add(path, disk_super, devid, fs_devices_ret);
|
||||
if (ret > 0) {
|
||||
if (disk_super->label[0]) {
|
||||
if (disk_super->label[BTRFS_LABEL_SIZE - 1])
|
||||
disk_super->label[BTRFS_LABEL_SIZE - 1] = '\0';
|
||||
printk(KERN_INFO "BTRFS: device label %s ", disk_super->label);
|
||||
} else {
|
||||
printk(KERN_INFO "BTRFS: device fsid %pU ", disk_super->fsid);
|
||||
}
|
||||
|
||||
printk(KERN_CONT "devid %llu transid %llu %s\n", devid, transid, path);
|
||||
ret = 0;
|
||||
}
|
||||
if (!ret && fs_devices_ret)
|
||||
(*fs_devices_ret)->total_devices = total_devices;
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче