@@ -358,10 +358,8 @@ 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_iter.bi_sector = KEY_START(&w->key);
- bio_set_dev(&io->bio, io->dc->bdev);
- io->bio.bi_end_io = dirty_endio;
-
+ bio_init_fields(&io->bio, io->dc->bdev, KEY_START(&w->key), NULL,
+ dirty_endio, 0, 0);
/* I/O request sent to backing device */
closure_bio_submit(io->dc->disk.c, &io->bio, cl);
}
@@ -471,10 +469,10 @@ static void read_dirty(struct cached_dev *dc)
dirty_init(w);
bio_set_op_attrs(&io->bio, REQ_OP_READ, 0);
- io->bio.bi_iter.bi_sector = PTR_OFFSET(&w->key, 0);
- bio_set_dev(&io->bio,
- PTR_CACHE(dc->disk.c, &w->key, 0)->bdev);
- io->bio.bi_end_io = read_dirty_endio;
+ bio_init_fields(&io->bio,
+ PTR_CACHE(dc->disk.c, &w->key, 0)->bdev,
+ PTR_OFFSET(&w->key, 0), NULL,
+ read_dirty_endio, 0, 0);
if (bch_bio_alloc_pages(&io->bio, GFP_KERNEL))
goto err_free;
Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> --- drivers/md/bcache/writeback.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)