btrfs: make btrfs_check_uuid_tree private to disk-io.c
authorNikolay Borisov <nborisov@suse.com>
Tue, 18 Feb 2020 14:56:08 +0000 (16:56 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 23 Mar 2020 16:01:41 +0000 (17:01 +0100)
It's used only during filesystem mount as such it can be made private to
disk-io.c file. Also use the occasion to move btrfs_uuid_rescan_kthread
as btrfs_check_uuid_tree is its sole caller.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/disk-io.c
fs/btrfs/volumes.c
fs/btrfs/volumes.h

index 756bf2a..074b770 100644 (file)
@@ -2835,6 +2835,41 @@ fail:
        return ret;
 }
 
+static int btrfs_uuid_rescan_kthread(void *data)
+{
+       struct btrfs_fs_info *fs_info = (struct btrfs_fs_info *)data;
+       int ret;
+
+       /*
+        * 1st step is to iterate through the existing UUID tree and
+        * to delete all entries that contain outdated data.
+        * 2nd step is to add all missing entries to the UUID tree.
+        */
+       ret = btrfs_uuid_tree_iterate(fs_info);
+       if (ret < 0) {
+               btrfs_warn(fs_info, "iterating uuid_tree failed %d", ret);
+               up(&fs_info->uuid_tree_rescan_sem);
+               return ret;
+       }
+       return btrfs_uuid_scan_kthread(data);
+}
+
+static int btrfs_check_uuid_tree(struct btrfs_fs_info *fs_info)
+{
+       struct task_struct *task;
+
+       down(&fs_info->uuid_tree_rescan_sem);
+       task = kthread_run(btrfs_uuid_rescan_kthread, fs_info, "btrfs-uuid");
+       if (IS_ERR(task)) {
+               /* fs_info->update_uuid_tree_gen remains 0 in all error case */
+               btrfs_warn(fs_info, "failed to start uuid_rescan task");
+               up(&fs_info->uuid_tree_rescan_sem);
+               return PTR_ERR(task);
+       }
+
+       return 0;
+}
+
 int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_devices,
                      char *options)
 {
index 63e499d..cb2f185 100644 (file)
@@ -4313,7 +4313,7 @@ int btrfs_cancel_balance(struct btrfs_fs_info *fs_info)
        return 0;
 }
 
-static int btrfs_uuid_scan_kthread(void *data)
+int btrfs_uuid_scan_kthread(void *data)
 {
        struct btrfs_fs_info *fs_info = data;
        struct btrfs_root *root = fs_info->tree_root;
@@ -4442,25 +4442,6 @@ out:
        return 0;
 }
 
-static int btrfs_uuid_rescan_kthread(void *data)
-{
-       struct btrfs_fs_info *fs_info = (struct btrfs_fs_info *)data;
-       int ret;
-
-       /*
-        * 1st step is to iterate through the existing UUID tree and
-        * to delete all entries that contain outdated data.
-        * 2nd step is to add all missing entries to the UUID tree.
-        */
-       ret = btrfs_uuid_tree_iterate(fs_info);
-       if (ret < 0) {
-               btrfs_warn(fs_info, "iterating uuid_tree failed %d", ret);
-               up(&fs_info->uuid_tree_rescan_sem);
-               return ret;
-       }
-       return btrfs_uuid_scan_kthread(data);
-}
-
 int btrfs_create_uuid_tree(struct btrfs_fs_info *fs_info)
 {
        struct btrfs_trans_handle *trans;
@@ -4503,22 +4484,6 @@ int btrfs_create_uuid_tree(struct btrfs_fs_info *fs_info)
        return 0;
 }
 
-int btrfs_check_uuid_tree(struct btrfs_fs_info *fs_info)
-{
-       struct task_struct *task;
-
-       down(&fs_info->uuid_tree_rescan_sem);
-       task = kthread_run(btrfs_uuid_rescan_kthread, fs_info, "btrfs-uuid");
-       if (IS_ERR(task)) {
-               /* fs_info->update_uuid_tree_gen remains 0 in all error case */
-               btrfs_warn(fs_info, "failed to start uuid_rescan task");
-               up(&fs_info->uuid_tree_rescan_sem);
-               return PTR_ERR(task);
-       }
-
-       return 0;
-}
-
 /*
  * shrinking a device means finding all of the device extents past
  * the new size, and then following the back refs to the chunks.
index 7fa392f..7b657f2 100644 (file)
@@ -459,7 +459,7 @@ int btrfs_recover_balance(struct btrfs_fs_info *fs_info);
 int btrfs_pause_balance(struct btrfs_fs_info *fs_info);
 int btrfs_cancel_balance(struct btrfs_fs_info *fs_info);
 int btrfs_create_uuid_tree(struct btrfs_fs_info *fs_info);
-int btrfs_check_uuid_tree(struct btrfs_fs_info *fs_info);
+int btrfs_uuid_scan_kthread(void *data);
 int btrfs_chunk_readonly(struct btrfs_fs_info *fs_info, u64 chunk_offset);
 int find_free_dev_extent(struct btrfs_device *device, u64 num_bytes,
                         u64 *start, u64 *max_avail);