diff options
author | David Sterba <dsterba@suse.com> | 2017-06-15 19:51:51 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2017-08-16 16:12:04 +0200 |
commit | 35c70103a528603afb538ffeafe40c7b8251b0fe (patch) | |
tree | 7d7619c776b612e8ca191a6b0a245e703c0fb878 /fs/btrfs/volumes.c | |
parent | 2dfeca9bfb0cdd9b18bdb8d222a5e5f1479c5ca2 (diff) | |
download | linux-stable-35c70103a528603afb538ffeafe40c7b8251b0fe.tar.gz linux-stable-35c70103a528603afb538ffeafe40c7b8251b0fe.tar.bz2 linux-stable-35c70103a528603afb538ffeafe40c7b8251b0fe.zip |
btrfs: refactor find_device helper
Polish the helper:
* drop underscores, no special meaning here
* pass fs_devices, as this is what the API implements
* drop noinline, no apparent reason for such simple helper
* constify uuid
* add comment
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/volumes.c')
-rw-r--r-- | fs/btrfs/volumes.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index ccedaa940f2e..3a43a9cc6183 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -254,9 +254,17 @@ static struct btrfs_device *__alloc_device(void) return dev; } -static noinline struct btrfs_device *__find_device(struct list_head *head, - u64 devid, u8 *uuid) +/* + * Find a device specified by @devid or @uuid in the list of @fs_devices, or + * return NULL. + * + * If devid and uuid are both specified, the match must be exact, otherwise + * only devid is used. + */ +static struct btrfs_device *find_device(struct btrfs_fs_devices *fs_devices, + u64 devid, const u8 *uuid) { + struct list_head *head = &fs_devices->devices; struct btrfs_device *dev; list_for_each_entry(dev, head, dev_list) { @@ -621,8 +629,8 @@ static noinline int device_list_add(const char *path, device = NULL; } else { - device = __find_device(&fs_devices->devices, devid, - disk_super->dev_item.uuid); + device = find_device(fs_devices, devid, + disk_super->dev_item.uuid); } if (!device) { @@ -6236,8 +6244,7 @@ struct btrfs_device *btrfs_find_device(struct btrfs_fs_info *fs_info, u64 devid, while (cur_devices) { if (!fsid || !memcmp(cur_devices->fsid, fsid, BTRFS_UUID_SIZE)) { - device = __find_device(&cur_devices->devices, - devid, uuid); + device = find_device(cur_devices, devid, uuid); if (device) return device; } |