dm_bufio_client
static void dm_bufio_lock(struct dm_bufio_client *c)
static void dm_bufio_unlock(struct dm_bufio_client *c)
static void *alloc_buffer_data(struct dm_bufio_client *c, gfp_t gfp_mask,
static void free_buffer_data(struct dm_bufio_client *c,
static struct dm_buffer *alloc_buffer(struct dm_bufio_client *c, gfp_t gfp_mask)
struct dm_bufio_client *c = b->c;
static inline sector_t block_to_sector(struct dm_bufio_client *c, sector_t block)
struct dm_bufio_client *c = b->c;
struct dm_bufio_client *c = context;
static struct dm_buffer *__get_unclaimed_buffer(struct dm_bufio_client *c)
static void __wait_for_free_buffer(struct dm_bufio_client *c)
static struct dm_buffer *__alloc_buffer_wait_no_callback(struct dm_bufio_client *c, enum new_flag nf)
static struct dm_buffer *__alloc_buffer_wait(struct dm_bufio_client *c, enum new_flag nf)
struct dm_bufio_client *c = b->c;
static void __move_clean_buffers(struct dm_bufio_client *c)
static void __write_dirty_buffers_async(struct dm_bufio_client *c, int no_wait,
static void __check_watermark(struct dm_bufio_client *c,
static void cache_put_and_wake(struct dm_bufio_client *c,
static struct dm_buffer *__bufio_new(struct dm_bufio_client *c,
static void *new_read(struct dm_bufio_client *c, sector_t block,
void *dm_bufio_get(struct dm_bufio_client *c, sector_t block,
static void *__dm_bufio_read(struct dm_bufio_client *c, sector_t block,
void *dm_bufio_read(struct dm_bufio_client *c, sector_t block,
void *dm_bufio_read_with_ioprio(struct dm_bufio_client *c, sector_t block,
void *dm_bufio_new(struct dm_bufio_client *c, sector_t block,
static void __dm_bufio_prefetch(struct dm_bufio_client *c,
void dm_bufio_prefetch(struct dm_bufio_client *c, sector_t block, unsigned int n_blocks)
void dm_bufio_prefetch_with_ioprio(struct dm_bufio_client *c, sector_t block,
struct dm_bufio_client *c = b->c;
struct dm_bufio_client *c = b->c;
void dm_bufio_write_dirty_buffers_async(struct dm_bufio_client *c)
int dm_bufio_write_dirty_buffers(struct dm_bufio_client *c)
int dm_bufio_issue_flush(struct dm_bufio_client *c)
int dm_bufio_issue_discard(struct dm_bufio_client *c, sector_t block, sector_t count)
static void forget_buffer(struct dm_bufio_client *c, sector_t block)
void dm_bufio_forget(struct dm_bufio_client *c, sector_t block)
void dm_bufio_forget_buffers(struct dm_bufio_client *c, sector_t block, sector_t n_blocks)
void dm_bufio_set_minimum_buffers(struct dm_bufio_client *c, unsigned int n)
unsigned int dm_bufio_get_block_size(struct dm_bufio_client *c)
sector_t dm_bufio_get_device_size(struct dm_bufio_client *c)
struct dm_io_client *dm_bufio_get_dm_io_client(struct dm_bufio_client *c)
struct dm_bufio_client *dm_bufio_get_client(struct dm_buffer *b)
static void drop_buffers(struct dm_bufio_client *c)
static unsigned long get_retain_buffers(struct dm_bufio_client *c)
static void __scan(struct dm_bufio_client *c)
struct dm_bufio_client *c = container_of(w, struct dm_bufio_client, shrink_work);
struct dm_bufio_client *c;
struct dm_bufio_client *c = shrink->private_data;
struct dm_bufio_client *dm_bufio_client_create(struct block_device *bdev, unsigned int block_size,
struct dm_bufio_client *c;
void dm_bufio_client_destroy(struct dm_bufio_client *c)
void dm_bufio_client_reset(struct dm_bufio_client *c)
void dm_bufio_set_sector_offset(struct dm_bufio_client *c, sector_t start)
static struct dm_bufio_client *__pop_client(void)
return container_of(h, struct dm_bufio_client, client_list);
static void __insert_client(struct dm_bufio_client *new_client)
struct dm_bufio_client *c;
c = container_of(h, struct dm_bufio_client, client_list);
struct dm_bufio_client *c;
struct dm_bufio_client *c;
struct dm_bufio_client *c;
struct dm_bufio_client *bufio; /* Use dm-bufio for read and read-modify-write processing. */
struct dm_bufio_client *bufio;
struct dm_bufio_client *client;
struct dm_bufio_client **client_ptr)
struct dm_bufio_client **client_ptr);
struct dm_bufio_client *client;
struct dm_bufio_client *client = NULL;
struct dm_bufio_client *client = NULL;
struct dm_bufio_client *client;
struct dm_bufio_client *client;
unsigned int reserved_buffers, struct dm_bufio_client **client_ptr)
struct dm_bufio_client **client_ptr);
struct dm_bufio_client *client;
struct dm_bufio_client *bufio;
struct dm_bufio_client *data_bufio; /* for data dev access */
struct dm_bufio_client *bufio; /* for parity data access */
struct dm_bufio_client *bufio;
struct dm_bufio_client *bufio;
void dm_bufio_write_dirty_buffers_async(struct dm_bufio_client *c);
int dm_bufio_write_dirty_buffers(struct dm_bufio_client *c);
int dm_bufio_issue_flush(struct dm_bufio_client *c);
int dm_bufio_issue_discard(struct dm_bufio_client *c, sector_t block, sector_t count);
void dm_bufio_forget(struct dm_bufio_client *c, sector_t block);
void dm_bufio_forget_buffers(struct dm_bufio_client *c, sector_t block, sector_t n_blocks);
void dm_bufio_set_minimum_buffers(struct dm_bufio_client *c, unsigned int n);
unsigned int dm_bufio_get_block_size(struct dm_bufio_client *c);
sector_t dm_bufio_get_device_size(struct dm_bufio_client *c);
struct dm_io_client *dm_bufio_get_dm_io_client(struct dm_bufio_client *c);
struct dm_bufio_client *dm_bufio_get_client(struct dm_buffer *b);
struct dm_bufio_client;
struct dm_bufio_client *
void dm_bufio_client_destroy(struct dm_bufio_client *c);
void dm_bufio_client_reset(struct dm_bufio_client *c);
void dm_bufio_set_sector_offset(struct dm_bufio_client *c, sector_t start);
void *dm_bufio_read(struct dm_bufio_client *c, sector_t block,
void *dm_bufio_read_with_ioprio(struct dm_bufio_client *c, sector_t block,
void *dm_bufio_get(struct dm_bufio_client *c, sector_t block,
void *dm_bufio_new(struct dm_bufio_client *c, sector_t block,
void dm_bufio_prefetch(struct dm_bufio_client *c,
void dm_bufio_prefetch_with_ioprio(struct dm_bufio_client *c,