From: Anand Jain <anand.j...@oracle.com>

This updates btrfs_free_stale_device() helper function to delete all
unmouted devices, when arg is NULL.

Signed-off-by: Anand Jain <anand.j...@oracle.com>
---
 fs/btrfs/volumes.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index cd234a5dc763..bba98d043402 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -611,9 +611,6 @@ static void btrfs_free_stale_devices(struct btrfs_device 
*cur_dev)
        struct btrfs_fs_devices *fs_devs, *tmp_fs_devs;
        struct btrfs_device *dev, *tmp_dev;
 
-       if (!cur_dev->name)
-               return;
-
        list_for_each_entry_safe(fs_devs, tmp_fs_devs, &fs_uuids, list) {
 
                if (fs_devs->opened)
@@ -621,11 +618,9 @@ static void btrfs_free_stale_devices(struct btrfs_device 
*cur_dev)
 
                list_for_each_entry_safe(dev, tmp_dev,
                                         &fs_devs->devices, dev_list) {
-                       int not_found;
+                       int not_found = 0;
 
-                       if (dev == cur_dev)
-                               continue;
-                       if (!dev->name)
+                       if (cur_dev && (cur_dev == dev || !dev->name))
                                continue;
 
                        /*
@@ -635,8 +630,9 @@ static void btrfs_free_stale_devices(struct btrfs_device 
*cur_dev)
                         * either use mapper or non mapper path throughout.
                         */
                        rcu_read_lock();
-                       not_found = strcmp(rcu_str_deref(dev->name),
-                                               rcu_str_deref(cur_dev->name));
+                       if (cur_dev)
+                               not_found = strcmp(rcu_str_deref(dev->name),
+                                                  
rcu_str_deref(cur_dev->name));
                        rcu_read_unlock();
                        if (not_found)
                                continue;
-- 
2.7.0

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to