diff mbox series

block: remove bio_set_op_attrs

Message ID 20221206144057.720846-1-hch@lst.de (mailing list archive)
State Mainlined, archived
Delegated to: Song Liu
Headers show
Series block: remove bio_set_op_attrs | expand

Commit Message

Christoph Hellwig Dec. 6, 2022, 2:40 p.m. UTC
This macro is obsolete, so replace the last few uses with open coded
bi_opf assignments.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 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(-)

Comments

Coly Li Dec. 6, 2022, 2:46 p.m. UTC | #1
> 2022年12月6日 22:40,Christoph Hellwig <hch@lst.de> 写道:
> 
> This macro is obsolete, so replace the last few uses with open coded
> bi_opf assignments.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Acked-by: Coly Li <colyli@suse.de <mailto:colyli@suse.de>>


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
>
Christoph Hellwig Dec. 6, 2022, 2:49 p.m. UTC | #2
On Tue, Dec 06, 2022 at 10:46:31PM +0800, Coly Li wrote:
> 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?

It was added when the flags encoding was a mess.  Now that the RQF_
flags are split out things have become much simpler and we don't need
to hide a simple assignment of a value to a field.
Coly Li Dec. 6, 2022, 2:51 p.m. UTC | #3
> 2022年12月6日 22:49,Christoph Hellwig <hch@lst.de> 写道:
> 
> On Tue, Dec 06, 2022 at 10:46:31PM +0800, Coly Li wrote:
>> 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?
> 
> It was added when the flags encoding was a mess.  Now that the RQF_
> flags are split out things have become much simpler and we don't need
> to hide a simple assignment of a value to a field.

I see. Thanks for doing this.

Coly Li
Bart Van Assche Dec. 6, 2022, 6:55 p.m. UTC | #4
On 12/6/22 06:40, Christoph Hellwig wrote:
> This macro is obsolete, so replace the last few uses with open coded
> bi_opf assignments.

For the entire patch:

Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Johannes Thumshirn Dec. 7, 2022, 9:26 a.m. UTC | #5
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Jens Axboe Dec. 7, 2022, 4:43 p.m. UTC | #6
On Tue, 06 Dec 2022 15:40:57 +0100, Christoph Hellwig wrote:
> This macro is obsolete, so replace the last few uses with open coded
> bi_opf assignments.
> 
> 

Applied, thanks!

[1/1] block: remove bio_set_op_attrs
      commit: c34b7ac65087554627f4840f4ecd6f2107a68fd1

Best regards,
diff mbox series

Patch

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);