Re: [PATCH] block: remove bio_set_op_attrs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> 2022年12月6日 22:40,Christoph Hellwig <hch@xxxxxx> 写道:
> 
> This macro is obsolete, so replace the last few uses with open coded
> bi_opf assignments.
> 
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>

Acked-by: Coly Li <colyli@xxxxxxx <mailto:colyli@xxxxxxx>>


BTW, may I ask why bio_set_op_attrs() is removed. Quite long time ago it was added to avoid open code, and now we remove it to use open coded assignments. What is the motivation for now?

Thanks.

Coly Li


> ---
> drivers/md/bcache/movinggc.c  |  2 +-
> drivers/md/bcache/request.c   |  2 +-
> drivers/md/bcache/writeback.c |  4 ++--
> drivers/md/dm-thin.c          |  2 +-
> drivers/md/raid1.c            | 12 ++++++------
> drivers/md/raid10.c           | 18 +++++++++---------
> include/linux/blk_types.h     |  7 -------
> 7 files changed, 20 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/md/bcache/movinggc.c b/drivers/md/bcache/movinggc.c
> index 99499d1f6e6666..9f32901fdad102 100644
> --- a/drivers/md/bcache/movinggc.c
> +++ b/drivers/md/bcache/movinggc.c
> @@ -160,7 +160,7 @@ static void read_moving(struct cache_set *c)
> moving_init(io);
> bio = &io->bio.bio;
> 
> - bio_set_op_attrs(bio, REQ_OP_READ, 0);
> + bio->bi_opf = REQ_OP_READ;
> bio->bi_end_io = read_moving_endio;
> 
> if (bch_bio_alloc_pages(bio, GFP_KERNEL))
> diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c
> index 3427555b0ccae4..39c7b607f8aad8 100644
> --- a/drivers/md/bcache/request.c
> +++ b/drivers/md/bcache/request.c
> @@ -244,7 +244,7 @@ static void bch_data_insert_start(struct closure *cl)
> trace_bcache_cache_insert(k);
> bch_keylist_push(&op->insert_keys);
> 
> - bio_set_op_attrs(n, REQ_OP_WRITE, 0);
> + n->bi_opf = REQ_OP_WRITE;
> bch_submit_bbio(n, op->c, k, 0);
> } while (n != bio);
> 
> diff --git a/drivers/md/bcache/writeback.c b/drivers/md/bcache/writeback.c
> index 0285b676e9834a..d4a5fc0650bb29 100644
> --- a/drivers/md/bcache/writeback.c
> +++ b/drivers/md/bcache/writeback.c
> @@ -434,7 +434,7 @@ static void write_dirty(struct closure *cl)
> */
> if (KEY_DIRTY(&w->key)) {
> dirty_init(w);
> - bio_set_op_attrs(&io->bio, REQ_OP_WRITE, 0);
> + io->bio.bi_opf = REQ_OP_WRITE;
> io->bio.bi_iter.bi_sector = KEY_START(&w->key);
> bio_set_dev(&io->bio, io->dc->bdev);
> io->bio.bi_end_io = dirty_endio;
> @@ -547,7 +547,7 @@ static void read_dirty(struct cached_dev *dc)
> io->sequence    = sequence++;
> 
> dirty_init(w);
> - bio_set_op_attrs(&io->bio, REQ_OP_READ, 0);
> + io->bio.bi_opf = REQ_OP_READ;
> io->bio.bi_iter.bi_sector = PTR_OFFSET(&w->key, 0);
> bio_set_dev(&io->bio, dc->disk.c->cache->bdev);
> io->bio.bi_end_io = read_dirty_endio;
> diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c
> index e76c96c760a9b5..c2b5a537f5b8ad 100644
> --- a/drivers/md/dm-thin.c
> +++ b/drivers/md/dm-thin.c
> @@ -410,7 +410,7 @@ static void end_discard(struct discard_op *op, int r)
> * need to wait for the chain to complete.
> */
> bio_chain(op->bio, op->parent_bio);
> - bio_set_op_attrs(op->bio, REQ_OP_DISCARD, 0);
> + op->bio->bi_opf = REQ_OP_DISCARD;
> submit_bio(op->bio);
> }
> 
> diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
> index 58f705f4294801..68a9e2d9985b2f 100644
> --- a/drivers/md/raid1.c
> +++ b/drivers/md/raid1.c
> @@ -1321,7 +1321,7 @@ static void raid1_read_request(struct mddev *mddev, struct bio *bio,
> read_bio->bi_iter.bi_sector = r1_bio->sector +
> mirror->rdev->data_offset;
> read_bio->bi_end_io = raid1_end_read_request;
> - bio_set_op_attrs(read_bio, op, do_sync);
> + read_bio->bi_opf = op | do_sync;
> if (test_bit(FailFast, &mirror->rdev->flags) &&
>    test_bit(R1BIO_FailFast, &r1_bio->state))
>        read_bio->bi_opf |= MD_FAILFAST;
> @@ -2254,7 +2254,7 @@ static void sync_request_write(struct mddev *mddev, struct r1bio *r1_bio)
> continue;
> }
> 
> - bio_set_op_attrs(wbio, REQ_OP_WRITE, 0);
> + wbio->bi_opf = REQ_OP_WRITE;
> if (test_bit(FailFast, &conf->mirrors[i].rdev->flags))
> wbio->bi_opf |= MD_FAILFAST;
> 
> @@ -2419,7 +2419,7 @@ static int narrow_write_error(struct r1bio *r1_bio, int i)
>       GFP_NOIO, &mddev->bio_set);
> }
> 
> - bio_set_op_attrs(wbio, REQ_OP_WRITE, 0);
> + wbio->bi_opf = REQ_OP_WRITE;
> wbio->bi_iter.bi_sector = r1_bio->sector;
> wbio->bi_iter.bi_size = r1_bio->sectors << 9;
> 
> @@ -2770,7 +2770,7 @@ static sector_t raid1_sync_request(struct mddev *mddev, sector_t sector_nr,
> if (i < conf->raid_disks)
> still_degraded = 1;
> } else if (!test_bit(In_sync, &rdev->flags)) {
> - bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
> + bio->bi_opf = REQ_OP_WRITE;
> bio->bi_end_io = end_sync_write;
> write_targets ++;
> } else {
> @@ -2797,7 +2797,7 @@ static sector_t raid1_sync_request(struct mddev *mddev, sector_t sector_nr,
> if (disk < 0)
> disk = i;
> }
> - bio_set_op_attrs(bio, REQ_OP_READ, 0);
> + bio->bi_opf = REQ_OP_READ;
> bio->bi_end_io = end_sync_read;
> read_targets++;
> } else if (!test_bit(WriteErrorSeen, &rdev->flags) &&
> @@ -2809,7 +2809,7 @@ static sector_t raid1_sync_request(struct mddev *mddev, sector_t sector_nr,
> * if we are doing resync or repair. Otherwise, leave
> * this device alone for this sync request.
> */
> - bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
> + bio->bi_opf = REQ_OP_WRITE;
> bio->bi_end_io = end_sync_write;
> write_targets++;
> }
> diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
> index 9a6503f5cb982e..6c66357f92f559 100644
> --- a/drivers/md/raid10.c
> +++ b/drivers/md/raid10.c
> @@ -1254,7 +1254,7 @@ static void raid10_read_request(struct mddev *mddev, struct bio *bio,
> read_bio->bi_iter.bi_sector = r10_bio->devs[slot].addr +
> choose_data_offset(r10_bio, rdev);
> read_bio->bi_end_io = raid10_end_read_request;
> - bio_set_op_attrs(read_bio, op, do_sync);
> + read_bio->bi_opf = op | do_sync;
> if (test_bit(FailFast, &rdev->flags) &&
>    test_bit(R10BIO_FailFast, &r10_bio->state))
>        read_bio->bi_opf |= MD_FAILFAST;
> @@ -1301,7 +1301,7 @@ static void raid10_write_one_disk(struct mddev *mddev, struct r10bio *r10_bio,
> mbio->bi_iter.bi_sector = (r10_bio->devs[n_copy].addr +
>   choose_data_offset(r10_bio, rdev));
> mbio->bi_end_io = raid10_end_write_request;
> - bio_set_op_attrs(mbio, op, do_sync | do_fua);
> + mbio->bi_opf = op | do_sync | do_fua;
> if (!replacement && test_bit(FailFast,
>     &conf->mirrors[devnum].rdev->flags)
> && enough(conf, devnum))
> @@ -2933,7 +2933,7 @@ static int narrow_write_error(struct r10bio *r10_bio, int i)
> wsector = r10_bio->devs[i].addr + (sector - r10_bio->sector);
> wbio->bi_iter.bi_sector = wsector +
>   choose_data_offset(r10_bio, rdev);
> - bio_set_op_attrs(wbio, REQ_OP_WRITE, 0);
> + wbio->bi_opf = REQ_OP_WRITE;
> 
> if (submit_bio_wait(wbio) < 0)
> /* Failure! */
> @@ -3542,7 +3542,7 @@ static sector_t raid10_sync_request(struct mddev *mddev, sector_t sector_nr,
> bio->bi_next = biolist;
> biolist = bio;
> bio->bi_end_io = end_sync_read;
> - bio_set_op_attrs(bio, REQ_OP_READ, 0);
> + bio->bi_opf = REQ_OP_READ;
> if (test_bit(FailFast, &rdev->flags))
> bio->bi_opf |= MD_FAILFAST;
> from_addr = r10_bio->devs[j].addr;
> @@ -3567,7 +3567,7 @@ static sector_t raid10_sync_request(struct mddev *mddev, sector_t sector_nr,
> bio->bi_next = biolist;
> biolist = bio;
> bio->bi_end_io = end_sync_write;
> - bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
> + bio->bi_opf = REQ_OP_WRITE;
> bio->bi_iter.bi_sector = to_addr
> + mrdev->data_offset;
> bio_set_dev(bio, mrdev->bdev);
> @@ -3588,7 +3588,7 @@ static sector_t raid10_sync_request(struct mddev *mddev, sector_t sector_nr,
> bio->bi_next = biolist;
> biolist = bio;
> bio->bi_end_io = end_sync_write;
> - bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
> + bio->bi_opf = REQ_OP_WRITE;
> bio->bi_iter.bi_sector = to_addr +
> mreplace->data_offset;
> bio_set_dev(bio, mreplace->bdev);
> @@ -3742,7 +3742,7 @@ static sector_t raid10_sync_request(struct mddev *mddev, sector_t sector_nr,
> bio->bi_next = biolist;
> biolist = bio;
> bio->bi_end_io = end_sync_read;
> - bio_set_op_attrs(bio, REQ_OP_READ, 0);
> + bio->bi_opf = REQ_OP_READ;
> if (test_bit(FailFast, &rdev->flags))
> bio->bi_opf |= MD_FAILFAST;
> bio->bi_iter.bi_sector = sector + rdev->data_offset;
> @@ -3764,7 +3764,7 @@ static sector_t raid10_sync_request(struct mddev *mddev, sector_t sector_nr,
> bio->bi_next = biolist;
> biolist = bio;
> bio->bi_end_io = end_sync_write;
> - bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
> + bio->bi_opf = REQ_OP_WRITE;
> if (test_bit(FailFast, &rdev->flags))
> bio->bi_opf |= MD_FAILFAST;
> bio->bi_iter.bi_sector = sector + rdev->data_offset;
> @@ -4970,7 +4970,7 @@ static sector_t reshape_request(struct mddev *mddev, sector_t sector_nr,
> b->bi_iter.bi_sector = r10_bio->devs[s/2].addr +
> rdev2->new_data_offset;
> b->bi_end_io = end_reshape_write;
> - bio_set_op_attrs(b, REQ_OP_WRITE, 0);
> + b->bi_opf = REQ_OP_WRITE;
> b->bi_next = blist;
> blist = b;
> }
> diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
> index e0b098089ef2b7..99be590f952f6e 100644
> --- a/include/linux/blk_types.h
> +++ b/include/linux/blk_types.h
> @@ -472,13 +472,6 @@ static inline enum req_op bio_op(const struct bio *bio)
> return bio->bi_opf & REQ_OP_MASK;
> }
> 
> -/* obsolete, don't use in new code */
> -static inline void bio_set_op_attrs(struct bio *bio, enum req_op op,
> -    blk_opf_t op_flags)
> -{
> - bio->bi_opf = op | op_flags;
> -}
> -
> static inline bool op_is_write(blk_opf_t op)
> {
> return !!(op & (__force blk_opf_t)1);
> -- 
> 2.35.1
> 





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux