]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
dm: drop NULL test before kmem_cache_destroy() and mempool_destroy()
authorJulia Lawall <Julia.Lawall@lip6.fr>
Sun, 13 Sep 2015 12:15:05 +0000 (14:15 +0200)
committerMike Snitzer <snitzer@redhat.com>
Sat, 31 Oct 2015 23:06:00 +0000 (19:06 -0400)
Remove DM's unneeded NULL tests before calling these destroy functions,
now that they check for NULL, thanks to these v4.3 commits:
3942d2991 ("mm/slab_common: allow NULL cache pointer in kmem_cache_destroy()")
4e3ca3e03 ("mm/mempool: allow NULL `pool' pointer in mempool_destroy()")

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@ expression x; @@
-if (x != NULL)
  \(kmem_cache_destroy\|mempool_destroy\|dma_pool_destroy\)(x);
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-bufio.c
drivers/md/dm-cache-target.c
drivers/md/dm-crypt.c
drivers/md/dm-io.c
drivers/md/dm-log-userspace-base.c
drivers/md/dm-region-hash.c
drivers/md/dm.c

index 83cc52eaf56d00a77debb4cbdc3f0ef62aaecb97..e1547d0dadfd476d79117e755ebb92978dff18ea 100644 (file)
@@ -1861,12 +1861,8 @@ static void __exit dm_bufio_exit(void)
        cancel_delayed_work_sync(&dm_bufio_work);
        destroy_workqueue(dm_bufio_wq);
 
-       for (i = 0; i < ARRAY_SIZE(dm_bufio_caches); i++) {
-               struct kmem_cache *kc = dm_bufio_caches[i];
-
-               if (kc)
-                       kmem_cache_destroy(kc);
-       }
+       for (i = 0; i < ARRAY_SIZE(dm_bufio_caches); i++)
+               kmem_cache_destroy(dm_bufio_caches[i]);
 
        for (i = 0; i < ARRAY_SIZE(dm_bufio_cache_names); i++)
                kfree(dm_bufio_cache_names[i]);
index dd90d1236f4a46be1cf28d7ef8ebc5d64235adf7..2fd4c82961441e08b2b20d8db98bfb2bad86e05e 100644 (file)
@@ -2309,8 +2309,7 @@ static void destroy(struct cache *cache)
 {
        unsigned i;
 
-       if (cache->migration_pool)
-               mempool_destroy(cache->migration_pool);
+       mempool_destroy(cache->migration_pool);
 
        if (cache->all_io_ds)
                dm_deferred_set_destroy(cache->all_io_ds);
index 4b3b6f8aff0cb4112a7bafa2c128027f804468b6..3729b394432c9d66c7c219a8a52ddbf9be987869 100644 (file)
@@ -1544,10 +1544,8 @@ static void crypt_dtr(struct dm_target *ti)
        if (cc->bs)
                bioset_free(cc->bs);
 
-       if (cc->page_pool)
-               mempool_destroy(cc->page_pool);
-       if (cc->req_pool)
-               mempool_destroy(cc->req_pool);
+       mempool_destroy(cc->page_pool);
+       mempool_destroy(cc->req_pool);
 
        if (cc->iv_gen_ops && cc->iv_gen_ops->dtr)
                cc->iv_gen_ops->dtr(cc);
index 6f8e83b2a6f801b3524a7b58598ed79e7bc82bae..81c5e1a1f36389e0d743eedfb6ae895de88340be 100644 (file)
@@ -65,8 +65,7 @@ struct dm_io_client *dm_io_client_create(void)
        return client;
 
    bad:
-       if (client->pool)
-               mempool_destroy(client->pool);
+       mempool_destroy(client->pool);
        kfree(client);
        return ERR_PTR(-ENOMEM);
 }
index 058256d2eeea8b6094f50190b9a0116137b238b4..53b7b06d0aa8bcad21aa6ccd795cac920b9e02b0 100644 (file)
@@ -313,8 +313,7 @@ static int userspace_ctr(struct dm_dirty_log *log, struct dm_target *ti,
 out:
        kfree(devices_rdata);
        if (r) {
-               if (lc->flush_entry_pool)
-                       mempool_destroy(lc->flush_entry_pool);
+               mempool_destroy(lc->flush_entry_pool);
                kfree(lc);
                kfree(ctr_str);
        } else {
index b929fd5f4984bb67fbb62474e24e5af425758770..f3d608bedffe8c61c294601633073aee83fec0f4 100644 (file)
@@ -249,9 +249,7 @@ void dm_region_hash_destroy(struct dm_region_hash *rh)
        if (rh->log)
                dm_dirty_log_destroy(rh->log);
 
-       if (rh->region_pool)
-               mempool_destroy(rh->region_pool);
-
+       mempool_destroy(rh->region_pool);
        vfree(rh->buckets);
        kfree(rh);
 }
index c31ca8bc6af5b24ffed7e9c18ba607d80c396a39..95558432c080a58a39c4dd0c77f1570fd5fe4e65 100644 (file)
@@ -2254,10 +2254,8 @@ static void cleanup_mapped_device(struct mapped_device *md)
                destroy_workqueue(md->wq);
        if (md->kworker_task)
                kthread_stop(md->kworker_task);
-       if (md->io_pool)
-               mempool_destroy(md->io_pool);
-       if (md->rq_pool)
-               mempool_destroy(md->rq_pool);
+       mempool_destroy(md->io_pool);
+       mempool_destroy(md->rq_pool);
        if (md->bs)
                bioset_free(md->bs);
 
@@ -3542,11 +3540,8 @@ void dm_free_md_mempools(struct dm_md_mempools *pools)
        if (!pools)
                return;
 
-       if (pools->io_pool)
-               mempool_destroy(pools->io_pool);
-
-       if (pools->rq_pool)
-               mempool_destroy(pools->rq_pool);
+       mempool_destroy(pools->io_pool);
+       mempool_destroy(pools->rq_pool);
 
        if (pools->bs)
                bioset_free(pools->bs);