btrfs: open code check_barrier_error()
authorAnand Jain <anand.jain@oracle.com>
Mon, 27 Mar 2023 09:53:08 +0000 (17:53 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 17 Apr 2023 16:01:20 +0000 (18:01 +0200)
check_barrier_error() is almost a single line function, and just calls
btrfs_check_rw_degradable(). Instead, open code it.

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 0cb5376..bd0e2c5 100644 (file)
@@ -4135,13 +4135,6 @@ static blk_status_t wait_dev_flush(struct btrfs_device *device)
        return bio->bi_status;
 }
 
-static int check_barrier_error(struct btrfs_fs_info *fs_info)
-{
-       if (!btrfs_check_rw_degradable(fs_info, NULL))
-               return -EIO;
-       return 0;
-}
-
 /*
  * send an empty flush down to each device in parallel,
  * then wait for them
@@ -4185,14 +4178,13 @@ static int barrier_all_devices(struct btrfs_fs_info *info)
                        errors_wait++;
        }
 
-       if (errors_wait) {
-               /*
-                * At some point we need the status of all disks
-                * to arrive at the volume status. So error checking
-                * is being pushed to a separate loop.
-                */
-               return check_barrier_error(info);
-       }
+       /*
+        * Checks last_flush_error of disks in order to determine the device
+        * state.
+        */
+       if (errors_wait && !btrfs_check_rw_degradable(info, NULL))
+               return -EIO;
+
        return 0;
 }