diff options
author | Mike Snitzer <snitzer@redhat.com> | 2017-11-09 11:59:37 -0500 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2017-11-10 15:45:07 -0500 |
commit | ef7afb3656854de04fe03b0b9b4f3722b5722d8d (patch) | |
tree | 8206b449eb3306b5df1c7e7c163afd1105126c5f /drivers/md/dm-cache-target.c | |
parent | ede6507d67e9f10a8df7f96ed0176d639cd25beb (diff) |
dm cache: lift common migration preparation code to alloc_migration()
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-cache-target.c')
-rw-r--r-- | drivers/md/dm-cache-target.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c index f81daf8638a4..cf23a14f9c6a 100644 --- a/drivers/md/dm-cache-target.c +++ b/drivers/md/dm-cache-target.c | |||
@@ -551,10 +551,13 @@ static struct dm_cache_migration *alloc_migration(struct cache *cache) | |||
551 | struct dm_cache_migration *mg; | 551 | struct dm_cache_migration *mg; |
552 | 552 | ||
553 | mg = mempool_alloc(cache->migration_pool, GFP_NOWAIT); | 553 | mg = mempool_alloc(cache->migration_pool, GFP_NOWAIT); |
554 | if (mg) { | 554 | if (!mg) |
555 | mg->cache = cache; | 555 | return NULL; |
556 | atomic_inc(&mg->cache->nr_allocated_migrations); | 556 | |
557 | } | 557 | memset(mg, 0, sizeof(*mg)); |
558 | |||
559 | mg->cache = cache; | ||
560 | atomic_inc(&cache->nr_allocated_migrations); | ||
558 | 561 | ||
559 | return mg; | 562 | return mg; |
560 | } | 563 | } |
@@ -1542,9 +1545,6 @@ static int mg_start(struct cache *cache, struct policy_work *op, struct bio *bio | |||
1542 | return -ENOMEM; | 1545 | return -ENOMEM; |
1543 | } | 1546 | } |
1544 | 1547 | ||
1545 | memset(mg, 0, sizeof(*mg)); | ||
1546 | |||
1547 | mg->cache = cache; | ||
1548 | mg->op = op; | 1548 | mg->op = op; |
1549 | mg->overwrite_bio = bio; | 1549 | mg->overwrite_bio = bio; |
1550 | 1550 | ||
@@ -1678,9 +1678,6 @@ static int invalidate_start(struct cache *cache, dm_cblock_t cblock, | |||
1678 | return -ENOMEM; | 1678 | return -ENOMEM; |
1679 | } | 1679 | } |
1680 | 1680 | ||
1681 | memset(mg, 0, sizeof(*mg)); | ||
1682 | |||
1683 | mg->cache = cache; | ||
1684 | mg->overwrite_bio = bio; | 1681 | mg->overwrite_bio = bio; |
1685 | mg->invalidate_cblock = cblock; | 1682 | mg->invalidate_cblock = cblock; |
1686 | mg->invalidate_oblock = oblock; | 1683 | mg->invalidate_oblock = oblock; |