dm: remove unused _rq_tio_cache and _rq_cache [Linux 5.1]

dm: remove unused _rq_tio_cache and _rq_cache [Linux 5.1]

This Linux kernel change "dm: remove unused _rq_tio_cache and _rq_cache" is included in the Linux 5.1 release. This change is authored by Mike Snitzer <snitzer [at] redhat.com> on Wed Feb 20 15:37:44 2019 -0500. The commit for this change in Linux stable tree is e689fba (patch).

dm: remove unused _rq_tio_cache and _rq_cache

Also move dm_rq_target_io structure definition from dm-rq.h to dm-rq.c

Fixes: 6a23e05c2fe3c6 ("dm: remove legacy request-based IO path")
Signed-off-by: Mike Snitzer <snitzer@redhat.com>

There are 54 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/md/dm-rq.c | 16 ++++++++++++++++
 drivers/md/dm-rq.h | 16 ----------------
 drivers/md/dm.c    | 22 ++--------------------
 3 files changed, 18 insertions(+), 36 deletions(-)

diff --git a/drivers/md/dm-rq.c b/drivers/md/dm-rq.c
index a20531e..9428cd9 100644
--- a/drivers/md/dm-rq.c
+++ b/drivers/md/dm-rq.c
@@ -12,6 +12,22 @@

 #define DM_MSG_PREFIX "core-rq"

+/*
+ * One of these is allocated per request.
+ */
+struct dm_rq_target_io {
+   struct mapped_device *md;
+   struct dm_target *ti;
+   struct request *orig, *clone;
+   struct kthread_work work;
+   blk_status_t error;
+   union map_info info;
+   struct dm_stats_aux stats_aux;
+   unsigned long duration_jiffies;
+   unsigned n_sectors;
+   unsigned completed;
+};
+
 #define DM_MQ_NR_HW_QUEUES 1
 #define DM_MQ_QUEUE_DEPTH 2048
 static unsigned dm_mq_nr_hw_queues = DM_MQ_NR_HW_QUEUES;
diff --git a/drivers/md/dm-rq.h b/drivers/md/dm-rq.h
index b392455..1eea0da 100644
--- a/drivers/md/dm-rq.h
+++ b/drivers/md/dm-rq.h
@@ -17,22 +17,6 @@
 struct mapped_device;

 /*
- * One of these is allocated per request.
- */
-struct dm_rq_target_io {
-   struct mapped_device *md;
-   struct dm_target *ti;
-   struct request *orig, *clone;
-   struct kthread_work work;
-   blk_status_t error;
-   union map_info info;
-   struct dm_stats_aux stats_aux;
-   unsigned long duration_jiffies;
-   unsigned n_sectors;
-   unsigned completed;
-};
-
-/*
  * For request-based dm - the bio clones we allocate are embedded in these
  * structs.
  *
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 55f12df..d8a844c 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -158,9 +158,6 @@ struct table_device {
    struct dm_dev dm_dev;
 };

-static struct kmem_cache *_rq_tio_cache;
-static struct kmem_cache *_rq_cache;
-
 /*
  * Bio-based DM's mempools' reserved IOs set by the user.
  */
@@ -222,20 +219,11 @@ static unsigned dm_get_numa_node(void)

 static int __init local_init(void)
 {
-   int r = -ENOMEM;
-
-   _rq_tio_cache = KMEM_CACHE(dm_rq_target_io, 0);
-   if (!_rq_tio_cache)
-       return r;
-
-   _rq_cache = kmem_cache_create("dm_old_clone_request", sizeof(struct request),
-                     __alignof__(struct request), 0, NULL);
-   if (!_rq_cache)
-       goto out_free_rq_tio_cache;
+   int r;

    r = dm_uevent_init();
    if (r)
-       goto out_free_rq_cache;
+       return r;

    deferred_remove_workqueue = alloc_workqueue("kdmremove", WQ_UNBOUND, 1);
    if (!deferred_remove_workqueue) {
@@ -257,10 +245,6 @@ static int __init local_init(void)
    destroy_workqueue(deferred_remove_workqueue);
 out_uevent_exit:
    dm_uevent_exit();
-out_free_rq_cache:
-   kmem_cache_destroy(_rq_cache);
-out_free_rq_tio_cache:
-   kmem_cache_destroy(_rq_tio_cache);

    return r;
 }
@@ -270,8 +254,6 @@ static void local_exit(void)
    flush_scheduled_work();
    destroy_workqueue(deferred_remove_workqueue);

-   kmem_cache_destroy(_rq_cache);
-   kmem_cache_destroy(_rq_tio_cache);
    unregister_blkdev(_major, _name);
    dm_uevent_exit();

Leave a Reply

Your email address will not be published. Required fields are marked *