btrfs: raid56: remove unused BTRFS_RBIO_REBUILD_MISSING

Commit aca43fe839 ("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>
This commit is contained in:
Qu Wenruo 2023-06-28 16:11:15 +08:00 committed by David Sterba
parent ed3764f726
commit 3a3c7a7f65
2 changed files with 5 additions and 13 deletions

View File

@ -584,8 +584,7 @@ static int rbio_can_merge(struct btrfs_raid_bio *last,
if (last->operation == BTRFS_RBIO_PARITY_SCRUB) if (last->operation == BTRFS_RBIO_PARITY_SCRUB)
return 0; return 0;
if (last->operation == BTRFS_RBIO_REBUILD_MISSING || if (last->operation == BTRFS_RBIO_READ_REBUILD)
last->operation == BTRFS_RBIO_READ_REBUILD)
return 0; return 0;
return 1; return 1;
@ -784,10 +783,7 @@ static noinline void unlock_stripe(struct btrfs_raid_bio *rbio)
spin_unlock(&rbio->bio_list_lock); spin_unlock(&rbio->bio_list_lock);
spin_unlock(&h->lock); spin_unlock(&h->lock);
if (next->operation == BTRFS_RBIO_READ_REBUILD) 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);
start_async_work(next, recover_rbio_work_locked); start_async_work(next, recover_rbio_work_locked);
} else if (next->operation == BTRFS_RBIO_WRITE) { } else if (next->operation == BTRFS_RBIO_WRITE) {
steal_rbio(rbio, next); 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 * If we're rebuilding a read, we have to use pages from the
* bio list if possible. * bio list if possible.
*/ */
if ((rbio->operation == BTRFS_RBIO_READ_REBUILD || if (rbio->operation == BTRFS_RBIO_READ_REBUILD) {
rbio->operation == BTRFS_RBIO_REBUILD_MISSING)) {
sector = sector_in_rbio(rbio, stripe_nr, sector_nr, 0); sector = sector_in_rbio(rbio, stripe_nr, sector_nr, 0);
} else { } else {
sector = rbio_stripe_sector(rbio, stripe_nr, sector_nr); 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 * If we're rebuilding a read, we have to use pages from the
* bio list if possible. * bio list if possible.
*/ */
if ((rbio->operation == BTRFS_RBIO_READ_REBUILD || if (rbio->operation == BTRFS_RBIO_READ_REBUILD) {
rbio->operation == BTRFS_RBIO_REBUILD_MISSING)) {
sector = sector_in_rbio(rbio, stripe_nr, sector_nr, 0); sector = sector_in_rbio(rbio, stripe_nr, sector_nr, 0);
} else { } else {
sector = rbio_stripe_sector(rbio, stripe_nr, sector_nr); sector = rbio_stripe_sector(rbio, stripe_nr, sector_nr);
@ -1897,8 +1891,7 @@ static int recover_sectors(struct btrfs_raid_bio *rbio)
goto out; goto out;
} }
if (rbio->operation == BTRFS_RBIO_READ_REBUILD || if (rbio->operation == BTRFS_RBIO_READ_REBUILD) {
rbio->operation == BTRFS_RBIO_REBUILD_MISSING) {
spin_lock(&rbio->bio_list_lock); spin_lock(&rbio->bio_list_lock);
set_bit(RBIO_RMW_LOCKED_BIT, &rbio->flags); set_bit(RBIO_RMW_LOCKED_BIT, &rbio->flags);
spin_unlock(&rbio->bio_list_lock); spin_unlock(&rbio->bio_list_lock);

View File

@ -14,7 +14,6 @@ enum btrfs_rbio_ops {
BTRFS_RBIO_WRITE, BTRFS_RBIO_WRITE,
BTRFS_RBIO_READ_REBUILD, BTRFS_RBIO_READ_REBUILD,
BTRFS_RBIO_PARITY_SCRUB, BTRFS_RBIO_PARITY_SCRUB,
BTRFS_RBIO_REBUILD_MISSING,
}; };
struct btrfs_raid_bio { struct btrfs_raid_bio {