|
@@ -213,7 +213,7 @@ static void bch_data_insert_start(struct closure *cl)
|
|
|
do {
|
|
|
unsigned i;
|
|
|
struct bkey *k;
|
|
|
- struct bio_set *split = op->c->bio_split;
|
|
|
+ struct bio_set *split = &op->c->bio_split;
|
|
|
|
|
|
/* 1 for the device pointer and 1 for the chksum */
|
|
|
if (bch_keylist_realloc(&op->insert_keys,
|
|
@@ -548,7 +548,7 @@ static int cache_lookup_fn(struct btree_op *op, struct btree *b, struct bkey *k)
|
|
|
|
|
|
n = bio_next_split(bio, min_t(uint64_t, INT_MAX,
|
|
|
KEY_OFFSET(k) - bio->bi_iter.bi_sector),
|
|
|
- GFP_NOIO, s->d->bio_split);
|
|
|
+ GFP_NOIO, &s->d->bio_split);
|
|
|
|
|
|
bio_key = &container_of(n, struct bbio, bio)->key;
|
|
|
bch_bkey_copy_single_ptr(bio_key, k, ptr);
|
|
@@ -707,7 +707,7 @@ static void search_free(struct closure *cl)
|
|
|
|
|
|
bio_complete(s);
|
|
|
closure_debug_destroy(cl);
|
|
|
- mempool_free(s, s->d->c->search);
|
|
|
+ mempool_free(s, &s->d->c->search);
|
|
|
}
|
|
|
|
|
|
static inline struct search *search_alloc(struct bio *bio,
|
|
@@ -715,7 +715,7 @@ static inline struct search *search_alloc(struct bio *bio,
|
|
|
{
|
|
|
struct search *s;
|
|
|
|
|
|
- s = mempool_alloc(d->c->search, GFP_NOIO);
|
|
|
+ s = mempool_alloc(&d->c->search, GFP_NOIO);
|
|
|
|
|
|
closure_init(&s->cl, NULL);
|
|
|
do_bio_hook(s, bio, request_endio);
|
|
@@ -864,7 +864,7 @@ static int cached_dev_cache_miss(struct btree *b, struct search *s,
|
|
|
s->cache_missed = 1;
|
|
|
|
|
|
if (s->cache_miss || s->iop.bypass) {
|
|
|
- miss = bio_next_split(bio, sectors, GFP_NOIO, s->d->bio_split);
|
|
|
+ miss = bio_next_split(bio, sectors, GFP_NOIO, &s->d->bio_split);
|
|
|
ret = miss == bio ? MAP_DONE : MAP_CONTINUE;
|
|
|
goto out_submit;
|
|
|
}
|
|
@@ -887,14 +887,14 @@ static int cached_dev_cache_miss(struct btree *b, struct search *s,
|
|
|
|
|
|
s->iop.replace = true;
|
|
|
|
|
|
- miss = bio_next_split(bio, sectors, GFP_NOIO, s->d->bio_split);
|
|
|
+ miss = bio_next_split(bio, sectors, GFP_NOIO, &s->d->bio_split);
|
|
|
|
|
|
/* btree_search_recurse()'s btree iterator is no good anymore */
|
|
|
ret = miss == bio ? MAP_DONE : -EINTR;
|
|
|
|
|
|
cache_bio = bio_alloc_bioset(GFP_NOWAIT,
|
|
|
DIV_ROUND_UP(s->insert_bio_sectors, PAGE_SECTORS),
|
|
|
- dc->disk.bio_split);
|
|
|
+ &dc->disk.bio_split);
|
|
|
if (!cache_bio)
|
|
|
goto out_submit;
|
|
|
|
|
@@ -1008,7 +1008,7 @@ static void cached_dev_write(struct cached_dev *dc, struct search *s)
|
|
|
struct bio *flush;
|
|
|
|
|
|
flush = bio_alloc_bioset(GFP_NOIO, 0,
|
|
|
- dc->disk.bio_split);
|
|
|
+ &dc->disk.bio_split);
|
|
|
if (!flush) {
|
|
|
s->iop.status = BLK_STS_RESOURCE;
|
|
|
goto insert_data;
|
|
@@ -1021,7 +1021,7 @@ static void cached_dev_write(struct cached_dev *dc, struct search *s)
|
|
|
closure_bio_submit(s->iop.c, flush, cl);
|
|
|
}
|
|
|
} else {
|
|
|
- s->iop.bio = bio_clone_fast(bio, GFP_NOIO, dc->disk.bio_split);
|
|
|
+ s->iop.bio = bio_clone_fast(bio, GFP_NOIO, &dc->disk.bio_split);
|
|
|
/* I/O request sent to backing device */
|
|
|
bio->bi_end_io = backing_request_endio;
|
|
|
closure_bio_submit(s->iop.c, bio, cl);
|