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 1e90469cc0d281072a6b495bd32c5d1dbc349fd0..528eef955060be81dbacb38237bb480c06f085ca 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