]> Git Repo - linux.git/blobdiff - drivers/md/bcache/debug.c
iptables: use match, target and data copy_to_user helpers
[linux.git] / drivers / md / bcache / debug.c
index c28df164701e7b4ec472d676e7285ef40e5a30c4..06f55056aaae86178a5927063ada7405c808fbab 100644 (file)
@@ -52,7 +52,7 @@ void bch_btree_verify(struct btree *b)
        bio->bi_bdev            = PTR_CACHE(b->c, &b->key, 0)->bdev;
        bio->bi_iter.bi_sector  = PTR_OFFSET(&b->key, 0);
        bio->bi_iter.bi_size    = KEY_SIZE(&v->key) << 9;
-       bio_set_op_attrs(bio, REQ_OP_READ, REQ_META|READ_SYNC);
+       bio->bi_opf             = REQ_OP_READ | REQ_META;
        bch_bio_map(bio, sorted);
 
        submit_bio_wait(bio);
@@ -107,23 +107,26 @@ void bch_data_verify(struct cached_dev *dc, struct bio *bio)
 {
        char name[BDEVNAME_SIZE];
        struct bio *check;
-       struct bio_vec bv, *bv2;
-       struct bvec_iter iter;
-       int i;
+       struct bio_vec bv, cbv;
+       struct bvec_iter iter, citer = { 0 };
 
        check = bio_clone(bio, GFP_NOIO);
        if (!check)
                return;
-       bio_set_op_attrs(check, REQ_OP_READ, READ_SYNC);
+       check->bi_opf = REQ_OP_READ;
 
        if (bio_alloc_pages(check, GFP_NOIO))
                goto out_put;
 
        submit_bio_wait(check);
 
+       citer.bi_size = UINT_MAX;
        bio_for_each_segment(bv, bio, iter) {
                void *p1 = kmap_atomic(bv.bv_page);
-               void *p2 = page_address(check->bi_io_vec[iter.bi_idx].bv_page);
+               void *p2;
+
+               cbv = bio_iter_iovec(check, citer);
+               p2 = page_address(cbv.bv_page);
 
                cache_set_err_on(memcmp(p1 + bv.bv_offset,
                                        p2 + bv.bv_offset,
@@ -134,10 +137,10 @@ void bch_data_verify(struct cached_dev *dc, struct bio *bio)
                                 (uint64_t) bio->bi_iter.bi_sector);
 
                kunmap_atomic(p1);
+               bio_advance_iter(check, &citer, bv.bv_len);
        }
 
-       bio_for_each_segment_all(bv2, check, i)
-               __free_page(bv2->bv_page);
+       bio_free_pages(check);
 out_put:
        bio_put(check);
 }
This page took 0.043421 seconds and 4 git commands to generate.