dm bufio: Add flags argument to dm_bufio_client_create
authorNathan Huckleberry <nhuck@google.com>
Fri, 22 Jul 2022 09:38:21 +0000 (09:38 +0000)
committerMike Snitzer <snitzer@kernel.org>
Thu, 28 Jul 2022 21:46:14 +0000 (17:46 -0400)
Add a flags argument to dm_bufio_client_create and update all the
callers. This is in preparation to add the DM_BUFIO_NO_SLEEP flag.

Signed-off-by: Nathan Huckleberry <nhuck@google.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
drivers/md/dm-bufio.c
drivers/md/dm-ebs-target.c
drivers/md/dm-integrity.c
drivers/md/dm-snap-persistent.c
drivers/md/dm-verity-fec.c
drivers/md/dm-verity-target.c
drivers/md/persistent-data/dm-block-manager.c
include/linux/dm-bufio.h

index 5ffa1dc..ad5603e 100644 (file)
@@ -1717,7 +1717,8 @@ static unsigned long dm_bufio_shrink_count(struct shrinker *shrink, struct shrin
 struct dm_bufio_client *dm_bufio_client_create(struct block_device *bdev, unsigned block_size,
                                               unsigned reserved_buffers, unsigned aux_size,
                                               void (*alloc_callback)(struct dm_buffer *),
-                                              void (*write_callback)(struct dm_buffer *))
+                                              void (*write_callback)(struct dm_buffer *),
+                                              unsigned int flags)
 {
        int r;
        struct dm_bufio_client *c;
index 0221fa6..04a1f56 100644 (file)
@@ -312,7 +312,8 @@ static int ebs_ctr(struct dm_target *ti, unsigned int argc, char **argv)
                goto bad;
        }
 
-       ec->bufio = dm_bufio_client_create(ec->dev->bdev, to_bytes(ec->u_bs), 1, 0, NULL, NULL);
+       ec->bufio = dm_bufio_client_create(ec->dev->bdev, to_bytes(ec->u_bs), 1,
+                                          0, NULL, NULL, 0);
        if (IS_ERR(ec->bufio)) {
                ti->error = "Cannot create dm bufio client";
                r = PTR_ERR(ec->bufio);
index 3d5a0ce..a508073 100644 (file)
@@ -4439,7 +4439,7 @@ try_smaller_buffer:
        }
 
        ic->bufio = dm_bufio_client_create(ic->meta_dev ? ic->meta_dev->bdev : ic->dev->bdev,
-                       1U << (SECTOR_SHIFT + ic->log2_buffer_sectors), 1, 0, NULL, NULL);
+                       1U << (SECTOR_SHIFT + ic->log2_buffer_sectors), 1, 0, NULL, NULL, 0);
        if (IS_ERR(ic->bufio)) {
                r = PTR_ERR(ic->bufio);
                ti->error = "Cannot initialize dm-bufio";
index 3bb5cff..aaa6997 100644 (file)
@@ -494,7 +494,7 @@ static int read_exceptions(struct pstore *ps,
 
        client = dm_bufio_client_create(dm_snap_cow(ps->store->snap)->bdev,
                                        ps->store->chunk_size << SECTOR_SHIFT,
-                                       1, 0, NULL, NULL);
+                                       1, 0, NULL, NULL, 0);
 
        if (IS_ERR(client))
                return PTR_ERR(client);
index cea2b37..23cffce 100644 (file)
@@ -749,7 +749,7 @@ int verity_fec_ctr(struct dm_verity *v)
 
        f->bufio = dm_bufio_client_create(f->dev->bdev,
                                          f->io_size,
-                                         1, 0, NULL, NULL);
+                                         1, 0, NULL, NULL, 0);
        if (IS_ERR(f->bufio)) {
                ti->error = "Cannot initialize FEC bufio client";
                return PTR_ERR(f->bufio);
@@ -765,7 +765,7 @@ int verity_fec_ctr(struct dm_verity *v)
 
        f->data_bufio = dm_bufio_client_create(v->data_dev->bdev,
                                               1 << v->data_dev_block_bits,
-                                              1, 0, NULL, NULL);
+                                              1, 0, NULL, NULL, 0);
        if (IS_ERR(f->data_bufio)) {
                ti->error = "Cannot initialize FEC data bufio client";
                return PTR_ERR(f->data_bufio);
index 75b66dd..95db3a7 100644 (file)
@@ -1265,7 +1265,7 @@ static int verity_ctr(struct dm_target *ti, unsigned argc, char **argv)
 
        v->bufio = dm_bufio_client_create(v->hash_dev->bdev,
                1 << v->hash_dev_block_bits, 1, sizeof(struct buffer_aux),
-               dm_bufio_alloc_callback, NULL);
+               dm_bufio_alloc_callback, NULL, 0);
        if (IS_ERR(v->bufio)) {
                ti->error = "Cannot initialize dm-bufio";
                r = PTR_ERR(v->bufio);
index 54c089a..1193586 100644 (file)
@@ -391,7 +391,8 @@ struct dm_block_manager *dm_block_manager_create(struct block_device *bdev,
        bm->bufio = dm_bufio_client_create(bdev, block_size, max_held_per_thread,
                                           sizeof(struct buffer_aux),
                                           dm_block_manager_alloc_callback,
-                                          dm_block_manager_write_callback);
+                                          dm_block_manager_write_callback,
+                                          0);
        if (IS_ERR(bm->bufio)) {
                r = PTR_ERR(bm->bufio);
                kfree(bm);
index 90bd558..e214807 100644 (file)
@@ -24,7 +24,8 @@ struct dm_bufio_client *
 dm_bufio_client_create(struct block_device *bdev, unsigned block_size,
                       unsigned reserved_buffers, unsigned aux_size,
                       void (*alloc_callback)(struct dm_buffer *),
-                      void (*write_callback)(struct dm_buffer *));
+                      void (*write_callback)(struct dm_buffer *),
+                      unsigned int flags);
 
 /*
  * Release a buffered IO cache.