OSDN Git Service

btrfs: refactor find_device helper
authorDavid Sterba <dsterba@suse.com>
Thu, 15 Jun 2017 17:51:51 +0000 (19:51 +0200)
committerDavid Sterba <dsterba@suse.com>
Wed, 16 Aug 2017 14:12:04 +0000 (16:12 +0200)
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>
fs/btrfs/volumes.c

index ccedaa9..3a43a9c 100644 (file)
@@ -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;
                }