Message ID | 20221213084123.309790-9-hch@lst.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/8] btrfs: cleanup raid56_parity_write | expand |
On 2022/12/13 16:41, Christoph Hellwig wrote: > The only caller of scrub_rbio calls rbio_orig_end_io right after it, > move it into scrub_rbio to match the other work item helpers. > > Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Qu Wenruo <wqu@suse.com> Thanks, Qu > --- > fs/btrfs/raid56.c | 18 +++++++----------- > 1 file changed, 7 insertions(+), 11 deletions(-) > > diff --git a/fs/btrfs/raid56.c b/fs/btrfs/raid56.c > index b2e02f02294163..4f2d63bfddae3c 100644 > --- a/fs/btrfs/raid56.c > +++ b/fs/btrfs/raid56.c > @@ -2732,7 +2732,7 @@ static int scrub_assemble_read_bios(struct btrfs_raid_bio *rbio, > return ret; > } > > -static int scrub_rbio(struct btrfs_raid_bio *rbio) > +static void scrub_rbio(struct btrfs_raid_bio *rbio) > { > struct bio_list bio_list = BIO_EMPTY_LIST; > bool need_check = false; > @@ -2742,13 +2742,13 @@ static int scrub_rbio(struct btrfs_raid_bio *rbio) > > ret = alloc_rbio_essential_pages(rbio); > if (ret) > - return ret; > + goto out; > > bitmap_clear(rbio->error_bitmap, 0, rbio->nr_sectors); > > ret = scrub_assemble_read_bios(rbio, &bio_list); > if (ret < 0) > - return ret; > + goto out; > > submit_read_bios(rbio, &bio_list); > wait_event(rbio->io_wait, atomic_read(&rbio->stripes_pending) == 0); > @@ -2758,7 +2758,7 @@ static int scrub_rbio(struct btrfs_raid_bio *rbio) > if (ret < 0) { > while ((bio = bio_list_pop(&bio_list))) > bio_put(bio); > - return ret; > + goto out; > } > > /* > @@ -2776,17 +2776,13 @@ static int scrub_rbio(struct btrfs_raid_bio *rbio) > break; > } > } > - return ret; > +out: > + rbio_orig_end_io(rbio, errno_to_blk_status(ret)); > } > > static void scrub_rbio_work_locked(struct work_struct *work) > { > - struct btrfs_raid_bio *rbio; > - int ret; > - > - rbio = container_of(work, struct btrfs_raid_bio, work); > - ret = scrub_rbio(rbio); > - rbio_orig_end_io(rbio, errno_to_blk_status(ret)); > + scrub_rbio(container_of(work, struct btrfs_raid_bio, work)); > } > > void raid56_parity_submit_scrub_rbio(struct btrfs_raid_bio *rbio)
diff --git a/fs/btrfs/raid56.c b/fs/btrfs/raid56.c index b2e02f02294163..4f2d63bfddae3c 100644 --- a/fs/btrfs/raid56.c +++ b/fs/btrfs/raid56.c @@ -2732,7 +2732,7 @@ static int scrub_assemble_read_bios(struct btrfs_raid_bio *rbio, return ret; } -static int scrub_rbio(struct btrfs_raid_bio *rbio) +static void scrub_rbio(struct btrfs_raid_bio *rbio) { struct bio_list bio_list = BIO_EMPTY_LIST; bool need_check = false; @@ -2742,13 +2742,13 @@ static int scrub_rbio(struct btrfs_raid_bio *rbio) ret = alloc_rbio_essential_pages(rbio); if (ret) - return ret; + goto out; bitmap_clear(rbio->error_bitmap, 0, rbio->nr_sectors); ret = scrub_assemble_read_bios(rbio, &bio_list); if (ret < 0) - return ret; + goto out; submit_read_bios(rbio, &bio_list); wait_event(rbio->io_wait, atomic_read(&rbio->stripes_pending) == 0); @@ -2758,7 +2758,7 @@ static int scrub_rbio(struct btrfs_raid_bio *rbio) if (ret < 0) { while ((bio = bio_list_pop(&bio_list))) bio_put(bio); - return ret; + goto out; } /* @@ -2776,17 +2776,13 @@ static int scrub_rbio(struct btrfs_raid_bio *rbio) break; } } - return ret; +out: + rbio_orig_end_io(rbio, errno_to_blk_status(ret)); } static void scrub_rbio_work_locked(struct work_struct *work) { - struct btrfs_raid_bio *rbio; - int ret; - - rbio = container_of(work, struct btrfs_raid_bio, work); - ret = scrub_rbio(rbio); - rbio_orig_end_io(rbio, errno_to_blk_status(ret)); + scrub_rbio(container_of(work, struct btrfs_raid_bio, work)); } void raid56_parity_submit_scrub_rbio(struct btrfs_raid_bio *rbio)
The only caller of scrub_rbio calls rbio_orig_end_io right after it, move it into scrub_rbio to match the other work item helpers. Signed-off-by: Christoph Hellwig <hch@lst.de> --- fs/btrfs/raid56.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-)