btrfs: raid56: remove unused BTRFS_RBIO_REBUILD_MISSING
authorQu Wenruo <wqu@suse.com>
Wed, 28 Jun 2023 08:11:15 +0000 (16:11 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 21 Aug 2023 12:52:12 +0000 (14:52 +0200)
Commit aca43fe839e4 ("btrfs: remove unused raid56 functions which were
dedicated for scrub") removed the special handling of RAID56 scrub for
missing device.

As scrub goes full mirror_num based recovery, that means if it hits a
missing device in RAID56, it would just try the next mirror, which would
go through the BTRFS_RBIO_READ_REBUILD operation.

This means there is no longer any use of BTRFS_RBIO_REBUILD_MISSING
operation and we can safely remove it.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/raid56.c
fs/btrfs/raid56.h

index 0249ea5..35fd6e1 100644 (file)
@@ -584,8 +584,7 @@ static int rbio_can_merge(struct btrfs_raid_bio *last,
        if (last->operation == BTRFS_RBIO_PARITY_SCRUB)
                return 0;
 
-       if (last->operation == BTRFS_RBIO_REBUILD_MISSING ||
-           last->operation == BTRFS_RBIO_READ_REBUILD)
+       if (last->operation == BTRFS_RBIO_READ_REBUILD)
                return 0;
 
        return 1;
@@ -784,10 +783,7 @@ static noinline void unlock_stripe(struct btrfs_raid_bio *rbio)
                        spin_unlock(&rbio->bio_list_lock);
                        spin_unlock(&h->lock);
 
-                       if (next->operation == BTRFS_RBIO_READ_REBUILD)
-                               start_async_work(next, recover_rbio_work_locked);
-                       else if (next->operation == BTRFS_RBIO_REBUILD_MISSING) {
-                               steal_rbio(rbio, next);
+                       if (next->operation == BTRFS_RBIO_READ_REBUILD) {
                                start_async_work(next, recover_rbio_work_locked);
                        } else if (next->operation == BTRFS_RBIO_WRITE) {
                                steal_rbio(rbio, next);
@@ -1698,8 +1694,7 @@ static int verify_one_sector(struct btrfs_raid_bio *rbio,
         * If we're rebuilding a read, we have to use pages from the
         * bio list if possible.
         */
-       if ((rbio->operation == BTRFS_RBIO_READ_REBUILD ||
-            rbio->operation == BTRFS_RBIO_REBUILD_MISSING)) {
+       if (rbio->operation == BTRFS_RBIO_READ_REBUILD) {
                sector = sector_in_rbio(rbio, stripe_nr, sector_nr, 0);
        } else {
                sector = rbio_stripe_sector(rbio, stripe_nr, sector_nr);
@@ -1763,8 +1758,7 @@ static int recover_vertical(struct btrfs_raid_bio *rbio, int sector_nr,
                 * If we're rebuilding a read, we have to use pages from the
                 * bio list if possible.
                 */
-               if ((rbio->operation == BTRFS_RBIO_READ_REBUILD ||
-                    rbio->operation == BTRFS_RBIO_REBUILD_MISSING)) {
+               if (rbio->operation == BTRFS_RBIO_READ_REBUILD) {
                        sector = sector_in_rbio(rbio, stripe_nr, sector_nr, 0);
                } else {
                        sector = rbio_stripe_sector(rbio, stripe_nr, sector_nr);
@@ -1897,8 +1891,7 @@ static int recover_sectors(struct btrfs_raid_bio *rbio)
                goto out;
        }
 
-       if (rbio->operation == BTRFS_RBIO_READ_REBUILD ||
-           rbio->operation == BTRFS_RBIO_REBUILD_MISSING) {
+       if (rbio->operation == BTRFS_RBIO_READ_REBUILD) {
                spin_lock(&rbio->bio_list_lock);
                set_bit(RBIO_RMW_LOCKED_BIT, &rbio->flags);
                spin_unlock(&rbio->bio_list_lock);
index 0e84c9c..45e6ff7 100644 (file)
@@ -14,7 +14,6 @@ enum btrfs_rbio_ops {
        BTRFS_RBIO_WRITE,
        BTRFS_RBIO_READ_REBUILD,
        BTRFS_RBIO_PARITY_SCRUB,
-       BTRFS_RBIO_REBUILD_MISSING,
 };
 
 struct btrfs_raid_bio {