From 847a8ba1fdc2768461f9b9eedc9a43e461a8138a Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Mon, 25 Jan 2021 18:09:22 +0100 Subject: [PATCH] bcache: set bi_bdev near bio allocation Shuffle the code around a bit to set bi_bdev early, in preparation for upcoming bio_alloc changes. Signed-off-by: Christoph Hellwig --- drivers/md/bcache/debug.c | 1 - drivers/md/bcache/io.c | 3 +-- drivers/md/bcache/movinggc.c | 1 + drivers/md/bcache/request.c | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/md/bcache/debug.c b/drivers/md/bcache/debug.c index 589a052efeb1..1b54534973b0 100644 --- a/drivers/md/bcache/debug.c +++ b/drivers/md/bcache/debug.c @@ -50,7 +50,6 @@ void bch_btree_verify(struct btree *b) v->keys.ops = b->keys.ops; bio = bch_bbio_alloc(b->c); - bio_set_dev(bio, c->cache->bdev); bio->bi_iter.bi_sector = PTR_OFFSET(&b->key, 0); bio->bi_iter.bi_size = KEY_SIZE(&v->key) << 9; bio->bi_opf = REQ_OP_READ | REQ_META; diff --git a/drivers/md/bcache/io.c b/drivers/md/bcache/io.c index e4388fe3ab7e..3ee85758f5f8 100644 --- a/drivers/md/bcache/io.c +++ b/drivers/md/bcache/io.c @@ -27,6 +27,7 @@ struct bio *bch_bbio_alloc(struct cache_set *c) struct bio *bio = &b->bio; bio_init(bio, bio->bi_inline_vecs, meta_bucket_pages(&c->cache->sb)); + bio_set_dev(bio, c->cache->bdev); return bio; } @@ -36,8 +37,6 @@ void __bch_submit_bbio(struct bio *bio, struct cache_set *c) struct bbio *b = container_of(bio, struct bbio, bio); bio->bi_iter.bi_sector = PTR_OFFSET(&b->key, 0); - bio_set_dev(bio, c->cache->bdev); - b->submit_time_us = local_clock_us(); closure_bio_submit(c, bio, bio->bi_private); } diff --git a/drivers/md/bcache/movinggc.c b/drivers/md/bcache/movinggc.c index b9c3d27ec093..a22f4bbb79e6 100644 --- a/drivers/md/bcache/movinggc.c +++ b/drivers/md/bcache/movinggc.c @@ -81,6 +81,7 @@ static void moving_init(struct moving_io *io) bio_init(bio, bio->bi_inline_vecs, DIV_ROUND_UP(KEY_SIZE(&io->w->key), PAGE_SECTORS)); + bio_set_dev(bio, io->op.c->cache->bdev); bio_get(bio); bio_set_prio(bio, IOPRIO_PRIO_VALUE(IOPRIO_CLASS_IDLE, 0)); diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c index 29c231758293..6303d9708c0c 100644 --- a/drivers/md/bcache/request.c +++ b/drivers/md/bcache/request.c @@ -570,7 +570,7 @@ static int cache_lookup_fn(struct btree_op *op, struct btree *b, struct bkey *k) * and reread from the backing device (but we don't pass that * error up anywhere). */ - + bio_set_dev(n, b->c->cache->bdev); __bch_submit_bbio(n, b->c); return n == bio ? MAP_DONE : MAP_CONTINUE; } -- 2.50.1