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 5ffa1dcf84cfc8f441398eacaaac1b16425ef544..ad5603eb12e3f26414f555f49f858d3552e44d0b 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 0221fa63f888f74f06f1a324d056304dd1143d8a..04a1f56d65882e5012a174d7c29b51e5921826cf 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 3d5a0ce123c905cf038e9412310e7e561b5fd080..a508073d84143b8c194b00a04703506ed190144a 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 3bb5cff5d6fc38acdeab6f27301119816a4cdc50..aaa699749c3b93232648cf1362206b501cc84ace 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 cea2b37897367c1fb55153f1ca70811f61f49211..23cffce564035415719586a9027b724ab6926577 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 75b66dd676337c4297a22b5e535dc61baf3f030b..95db3a7ee3c7b186a7d5d8f60191dee4184b1ce7 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 54c089a50b152e4fa42aee04b973d89095a8ae5d..11935864f50f5f04b8aa81fbd882108c94f03c3d 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 90bd558a17f516780329589ea6a07d62b9909c5a..e214807152556a782a975fbb0b0ddf05e7d60de4 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.