dm bufio: Add flags argument to dm_bufio_client_create
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>
This commit is contained in:
parent
9dd1cd3220
commit
0fcb100d50
@ -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,
|
struct dm_bufio_client *dm_bufio_client_create(struct block_device *bdev, unsigned block_size,
|
||||||
unsigned reserved_buffers, unsigned aux_size,
|
unsigned reserved_buffers, unsigned aux_size,
|
||||||
void (*alloc_callback)(struct dm_buffer *),
|
void (*alloc_callback)(struct dm_buffer *),
|
||||||
void (*write_callback)(struct dm_buffer *))
|
void (*write_callback)(struct dm_buffer *),
|
||||||
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
struct dm_bufio_client *c;
|
struct dm_bufio_client *c;
|
||||||
|
@ -312,7 +312,8 @@ static int ebs_ctr(struct dm_target *ti, unsigned int argc, char **argv)
|
|||||||
goto bad;
|
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)) {
|
if (IS_ERR(ec->bufio)) {
|
||||||
ti->error = "Cannot create dm bufio client";
|
ti->error = "Cannot create dm bufio client";
|
||||||
r = PTR_ERR(ec->bufio);
|
r = PTR_ERR(ec->bufio);
|
||||||
|
@ -4439,7 +4439,7 @@ try_smaller_buffer:
|
|||||||
}
|
}
|
||||||
|
|
||||||
ic->bufio = dm_bufio_client_create(ic->meta_dev ? ic->meta_dev->bdev : ic->dev->bdev,
|
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)) {
|
if (IS_ERR(ic->bufio)) {
|
||||||
r = PTR_ERR(ic->bufio);
|
r = PTR_ERR(ic->bufio);
|
||||||
ti->error = "Cannot initialize dm-bufio";
|
ti->error = "Cannot initialize dm-bufio";
|
||||||
|
@ -494,7 +494,7 @@ static int read_exceptions(struct pstore *ps,
|
|||||||
|
|
||||||
client = dm_bufio_client_create(dm_snap_cow(ps->store->snap)->bdev,
|
client = dm_bufio_client_create(dm_snap_cow(ps->store->snap)->bdev,
|
||||||
ps->store->chunk_size << SECTOR_SHIFT,
|
ps->store->chunk_size << SECTOR_SHIFT,
|
||||||
1, 0, NULL, NULL);
|
1, 0, NULL, NULL, 0);
|
||||||
|
|
||||||
if (IS_ERR(client))
|
if (IS_ERR(client))
|
||||||
return PTR_ERR(client);
|
return PTR_ERR(client);
|
||||||
|
@ -749,7 +749,7 @@ int verity_fec_ctr(struct dm_verity *v)
|
|||||||
|
|
||||||
f->bufio = dm_bufio_client_create(f->dev->bdev,
|
f->bufio = dm_bufio_client_create(f->dev->bdev,
|
||||||
f->io_size,
|
f->io_size,
|
||||||
1, 0, NULL, NULL);
|
1, 0, NULL, NULL, 0);
|
||||||
if (IS_ERR(f->bufio)) {
|
if (IS_ERR(f->bufio)) {
|
||||||
ti->error = "Cannot initialize FEC bufio client";
|
ti->error = "Cannot initialize FEC bufio client";
|
||||||
return PTR_ERR(f->bufio);
|
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,
|
f->data_bufio = dm_bufio_client_create(v->data_dev->bdev,
|
||||||
1 << v->data_dev_block_bits,
|
1 << v->data_dev_block_bits,
|
||||||
1, 0, NULL, NULL);
|
1, 0, NULL, NULL, 0);
|
||||||
if (IS_ERR(f->data_bufio)) {
|
if (IS_ERR(f->data_bufio)) {
|
||||||
ti->error = "Cannot initialize FEC data bufio client";
|
ti->error = "Cannot initialize FEC data bufio client";
|
||||||
return PTR_ERR(f->data_bufio);
|
return PTR_ERR(f->data_bufio);
|
||||||
|
@ -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,
|
v->bufio = dm_bufio_client_create(v->hash_dev->bdev,
|
||||||
1 << v->hash_dev_block_bits, 1, sizeof(struct buffer_aux),
|
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)) {
|
if (IS_ERR(v->bufio)) {
|
||||||
ti->error = "Cannot initialize dm-bufio";
|
ti->error = "Cannot initialize dm-bufio";
|
||||||
r = PTR_ERR(v->bufio);
|
r = PTR_ERR(v->bufio);
|
||||||
|
@ -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,
|
bm->bufio = dm_bufio_client_create(bdev, block_size, max_held_per_thread,
|
||||||
sizeof(struct buffer_aux),
|
sizeof(struct buffer_aux),
|
||||||
dm_block_manager_alloc_callback,
|
dm_block_manager_alloc_callback,
|
||||||
dm_block_manager_write_callback);
|
dm_block_manager_write_callback,
|
||||||
|
0);
|
||||||
if (IS_ERR(bm->bufio)) {
|
if (IS_ERR(bm->bufio)) {
|
||||||
r = PTR_ERR(bm->bufio);
|
r = PTR_ERR(bm->bufio);
|
||||||
kfree(bm);
|
kfree(bm);
|
||||||
|
@ -24,7 +24,8 @@ struct dm_bufio_client *
|
|||||||
dm_bufio_client_create(struct block_device *bdev, unsigned block_size,
|
dm_bufio_client_create(struct block_device *bdev, unsigned block_size,
|
||||||
unsigned reserved_buffers, unsigned aux_size,
|
unsigned reserved_buffers, unsigned aux_size,
|
||||||
void (*alloc_callback)(struct dm_buffer *),
|
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.
|
* Release a buffered IO cache.
|
||||||
|
Loading…
Reference in New Issue
Block a user