dm: convert to bioset_init()/mempool_init()
Convert dm to embedded bio sets. Acked-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:

committed by
Jens Axboe

parent
afeee514ce
commit
6f1c819c21
@@ -76,7 +76,7 @@ struct log_c {
|
||||
*/
|
||||
uint32_t integrated_flush;
|
||||
|
||||
mempool_t *flush_entry_pool;
|
||||
mempool_t flush_entry_pool;
|
||||
};
|
||||
|
||||
static struct kmem_cache *_flush_entry_cache;
|
||||
@@ -249,11 +249,10 @@ static int userspace_ctr(struct dm_dirty_log *log, struct dm_target *ti,
|
||||
goto out;
|
||||
}
|
||||
|
||||
lc->flush_entry_pool = mempool_create_slab_pool(FLUSH_ENTRY_POOL_SIZE,
|
||||
_flush_entry_cache);
|
||||
if (!lc->flush_entry_pool) {
|
||||
r = mempool_init_slab_pool(&lc->flush_entry_pool, FLUSH_ENTRY_POOL_SIZE,
|
||||
_flush_entry_cache);
|
||||
if (r) {
|
||||
DMERR("Failed to create flush_entry_pool");
|
||||
r = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -313,7 +312,7 @@ static int userspace_ctr(struct dm_dirty_log *log, struct dm_target *ti,
|
||||
out:
|
||||
kfree(devices_rdata);
|
||||
if (r) {
|
||||
mempool_destroy(lc->flush_entry_pool);
|
||||
mempool_exit(&lc->flush_entry_pool);
|
||||
kfree(lc);
|
||||
kfree(ctr_str);
|
||||
} else {
|
||||
@@ -342,7 +341,7 @@ static void userspace_dtr(struct dm_dirty_log *log)
|
||||
if (lc->log_dev)
|
||||
dm_put_device(lc->ti, lc->log_dev);
|
||||
|
||||
mempool_destroy(lc->flush_entry_pool);
|
||||
mempool_exit(&lc->flush_entry_pool);
|
||||
|
||||
kfree(lc->usr_argv_str);
|
||||
kfree(lc);
|
||||
@@ -570,7 +569,7 @@ static int userspace_flush(struct dm_dirty_log *log)
|
||||
int mark_list_is_empty;
|
||||
int clear_list_is_empty;
|
||||
struct dm_dirty_log_flush_entry *fe, *tmp_fe;
|
||||
mempool_t *flush_entry_pool = lc->flush_entry_pool;
|
||||
mempool_t *flush_entry_pool = &lc->flush_entry_pool;
|
||||
|
||||
spin_lock_irqsave(&lc->flush_lock, flags);
|
||||
list_splice_init(&lc->mark_list, &mark_list);
|
||||
@@ -653,7 +652,7 @@ static void userspace_mark_region(struct dm_dirty_log *log, region_t region)
|
||||
struct dm_dirty_log_flush_entry *fe;
|
||||
|
||||
/* Wait for an allocation, but _never_ fail */
|
||||
fe = mempool_alloc(lc->flush_entry_pool, GFP_NOIO);
|
||||
fe = mempool_alloc(&lc->flush_entry_pool, GFP_NOIO);
|
||||
BUG_ON(!fe);
|
||||
|
||||
spin_lock_irqsave(&lc->flush_lock, flags);
|
||||
@@ -687,7 +686,7 @@ static void userspace_clear_region(struct dm_dirty_log *log, region_t region)
|
||||
* to cause the region to be resync'ed when the
|
||||
* device is activated next time.
|
||||
*/
|
||||
fe = mempool_alloc(lc->flush_entry_pool, GFP_ATOMIC);
|
||||
fe = mempool_alloc(&lc->flush_entry_pool, GFP_ATOMIC);
|
||||
if (!fe) {
|
||||
DMERR("Failed to allocate memory to clear region.");
|
||||
return;
|
||||
|
Reference in New Issue
Block a user