Merge tag 'for-6.0/dm-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / drivers / md / dm-bufio.c
index 0a38a7a..acd6d6b 100644 (file)
@@ -592,13 +592,12 @@ static void dmio_complete(unsigned long error, void *context)
        b->end_io(b, unlikely(error != 0) ? BLK_STS_IOERR : 0);
 }
 
-static void use_dmio(struct dm_buffer *b, int rw, sector_t sector,
+static void use_dmio(struct dm_buffer *b, enum req_op op, sector_t sector,
                     unsigned n_sectors, unsigned offset)
 {
        int r;
        struct dm_io_request io_req = {
-               .bi_op = rw,
-               .bi_op_flags = 0,
+               .bi_opf = op,
                .notify.fn = dmio_complete,
                .notify.context = b,
                .client = b->c->dm_io,
@@ -631,7 +630,7 @@ static void bio_complete(struct bio *bio)
        b->end_io(b, status);
 }
 
-static void use_bio(struct dm_buffer *b, int rw, sector_t sector,
+static void use_bio(struct dm_buffer *b, enum req_op op, sector_t sector,
                    unsigned n_sectors, unsigned offset)
 {
        struct bio *bio;
@@ -645,10 +644,10 @@ static void use_bio(struct dm_buffer *b, int rw, sector_t sector,
        bio = bio_kmalloc(vec_size, GFP_NOWAIT | __GFP_NORETRY | __GFP_NOWARN);
        if (!bio) {
 dmio:
-               use_dmio(b, rw, sector, n_sectors, offset);
+               use_dmio(b, op, sector, n_sectors, offset);
                return;
        }
-       bio_init(bio, b->c->bdev, bio->bi_inline_vecs, vec_size, rw);
+       bio_init(bio, b->c->bdev, bio->bi_inline_vecs, vec_size, op);
        bio->bi_iter.bi_sector = sector;
        bio->bi_end_io = bio_complete;
        bio->bi_private = b;
@@ -684,7 +683,8 @@ static inline sector_t block_to_sector(struct dm_bufio_client *c, sector_t block
        return sector;
 }
 
-static void submit_io(struct dm_buffer *b, int rw, void (*end_io)(struct dm_buffer *, blk_status_t))
+static void submit_io(struct dm_buffer *b, enum req_op op,
+                     void (*end_io)(struct dm_buffer *, blk_status_t))
 {
        unsigned n_sectors;
        sector_t sector;
@@ -694,7 +694,7 @@ static void submit_io(struct dm_buffer *b, int rw, void (*end_io)(struct dm_buff
 
        sector = block_to_sector(b->c, b->block);
 
-       if (rw != REQ_OP_WRITE) {
+       if (op != REQ_OP_WRITE) {
                n_sectors = b->c->block_size >> SECTOR_SHIFT;
                offset = 0;
        } else {
@@ -713,9 +713,9 @@ static void submit_io(struct dm_buffer *b, int rw, void (*end_io)(struct dm_buff
        }
 
        if (b->data_mode != DATA_MODE_VMALLOC)
-               use_bio(b, rw, sector, n_sectors, offset);
+               use_bio(b, op, sector, n_sectors, offset);
        else
-               use_dmio(b, rw, sector, n_sectors, offset);
+               use_dmio(b, op, sector, n_sectors, offset);
 }
 
 /*----------------------------------------------------------------
@@ -1356,8 +1356,7 @@ EXPORT_SYMBOL_GPL(dm_bufio_write_dirty_buffers);
 int dm_bufio_issue_flush(struct dm_bufio_client *c)
 {
        struct dm_io_request io_req = {
-               .bi_op = REQ_OP_WRITE,
-               .bi_op_flags = REQ_PREFLUSH | REQ_SYNC,
+               .bi_opf = REQ_OP_WRITE | REQ_PREFLUSH | REQ_SYNC,
                .mem.type = DM_IO_KMEM,
                .mem.ptr.addr = NULL,
                .client = c->dm_io,
@@ -1380,8 +1379,7 @@ EXPORT_SYMBOL_GPL(dm_bufio_issue_flush);
 int dm_bufio_issue_discard(struct dm_bufio_client *c, sector_t block, sector_t count)
 {
        struct dm_io_request io_req = {
-               .bi_op = REQ_OP_DISCARD,
-               .bi_op_flags = REQ_SYNC,
+               .bi_opf = REQ_OP_DISCARD | REQ_SYNC,
                .mem.type = DM_IO_KMEM,
                .mem.ptr.addr = NULL,
                .client = c->dm_io,
@@ -1828,7 +1826,8 @@ struct dm_bufio_client *dm_bufio_client_create(struct block_device *bdev, unsign
        c->shrinker.scan_objects = dm_bufio_shrink_scan;
        c->shrinker.seeks = 1;
        c->shrinker.batch = 0;
-       r = register_shrinker(&c->shrinker);
+       r = register_shrinker(&c->shrinker, "md-%s:(%u:%u)", slab_name,
+                             MAJOR(bdev->bd_dev), MINOR(bdev->bd_dev));
        if (r)
                goto bad;