OSDN Git Service

btrfs: remove redundant null bdev counting during flush submission
authorAnand Jain <anand.jain@oracle.com>
Tue, 13 Jun 2017 09:05:40 +0000 (17:05 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 19 Jun 2017 16:26:04 +0000 (18:26 +0200)
There is no extra benefit to count null bdev during the submit loop,
as these null devices will be anyway checked during command
completion device loop just after the submit loop. We are holding the
device_list_mutex, the device->bdev status won't change in between.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/disk-io.c

index 1e90469..528eef9 100644 (file)
@@ -3564,7 +3564,6 @@ static int barrier_all_devices(struct btrfs_fs_info *info)
 {
        struct list_head *head;
        struct btrfs_device *dev;
-       int errors_send = 0;
        int errors_wait = 0;
        int ret;
 
@@ -3573,10 +3572,8 @@ static int barrier_all_devices(struct btrfs_fs_info *info)
        list_for_each_entry_rcu(dev, head, dev_list) {
                if (dev->missing)
                        continue;
-               if (!dev->bdev) {
-                       errors_send++;
+               if (!dev->bdev)
                        continue;
-               }
                if (!dev->in_fs_metadata || !dev->writeable)
                        continue;
 
@@ -3602,7 +3599,7 @@ static int barrier_all_devices(struct btrfs_fs_info *info)
                }
        }
 
-       if (errors_send || errors_wait) {
+       if (errors_wait) {
                /*
                 * At some point we need the status of all disks
                 * to arrive at the volume status. So error checking