[PATCH 07/13] dm: tidy local_init

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Kiyoshi Ueda
Date: Friday, September 12, 2008 - 7:44 am

This patch tidies local_init() as preparation for another patch
(PATCH 08), which creates some kmem_cache for request-based dm.
No functional change.

This patch is just a clean up of the codes and not functionally
related to request-based dm.  But included here due to literal
dependency.

Signed-off-by: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Signed-off-by: Jun'ichi Nomura <j-nomura@ce.jp.nec.com>
Cc: Alasdair G Kergon <agk@redhat.com>
---
 drivers/md/dm.c |   34 +++++++++++++++++-----------------
 1 files changed, 17 insertions(+), 17 deletions(-)

Index: 2.6.27-rc6/drivers/md/dm.c
===================================================================
--- 2.6.27-rc6.orig/drivers/md/dm.c
+++ 2.6.27-rc6/drivers/md/dm.c
@@ -150,40 +150,40 @@ static struct kmem_cache *_tio_cache;
 
 static int __init local_init(void)
 {
-	int r;
+	int r = -ENOMEM;
 
 	/* allocate a slab for the dm_ios */
 	_io_cache = KMEM_CACHE(dm_io, 0);
 	if (!_io_cache)
-		return -ENOMEM;
+		return r;
 
 	/* allocate a slab for the target ios */
 	_tio_cache = KMEM_CACHE(dm_target_io, 0);
-	if (!_tio_cache) {
-		kmem_cache_destroy(_io_cache);
-		return -ENOMEM;
-	}
+	if (!_tio_cache)
+		goto out_free_io_cache;
 
 	r = dm_uevent_init();
-	if (r) {
-		kmem_cache_destroy(_tio_cache);
-		kmem_cache_destroy(_io_cache);
-		return r;
-	}
+	if (r)
+		goto out_free_tio_cache;
 
 	_major = major;
 	r = register_blkdev(_major, _name);
-	if (r < 0) {
-		kmem_cache_destroy(_tio_cache);
-		kmem_cache_destroy(_io_cache);
-		dm_uevent_exit();
-		return r;
-	}
+	if (r < 0)
+		goto out_uevent_exit;
 
 	if (!_major)
 		_major = r;
 
 	return 0;
+
+out_uevent_exit:
+	dm_uevent_exit();
+out_free_tio_cache:
+	kmem_cache_destroy(_tio_cache);
+out_free_io_cache:
+	kmem_cache_destroy(_io_cache);
+
+	return r;
 }
 
 static void local_exit(void)
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 00/13] request-based dm-multipath, Kiyoshi Ueda, (Fri Sep 12, 7:38 am)
[PATCH 01/13] block: add request update interface, Kiyoshi Ueda, (Fri Sep 12, 7:40 am)
[PATCH 02/13] block: add request submission interface, Kiyoshi Ueda, (Fri Sep 12, 7:41 am)
[PATCH 03/13] mm: lld busy status exporting interface, Kiyoshi Ueda, (Fri Sep 12, 7:42 am)
[PATCH 04/13] scsi: exports busy status, Kiyoshi Ueda, (Fri Sep 12, 7:43 am)
[PATCH 06/13] dm: remove unused DM_WQ_FLUSH_ALL, Kiyoshi Ueda, (Fri Sep 12, 7:44 am)
[PATCH 07/13] dm: tidy local_init, Kiyoshi Ueda, (Fri Sep 12, 7:44 am)
[PATCH 08/13] dm: add kmem_cache for request-based dm, Kiyoshi Ueda, (Fri Sep 12, 7:45 am)
[PATCH 11/13] dm: enable request-based dm, Kiyoshi Ueda, (Fri Sep 12, 7:46 am)
[PATCH 12/13] dm: reject I/O violating new queue limits, Kiyoshi Ueda, (Fri Sep 12, 7:46 am)
[PATCH 13/13] dm-mpath: convert to request-based, Kiyoshi Ueda, (Fri Sep 12, 7:47 am)
Re: [PATCH 00/13] request-based dm-multipath, Jens Axboe, (Sun Sep 14, 6:17 am)
Re: [PATCH 02/13] block: add request submission interface, Kiyoshi Ueda, (Tue Sep 16, 11:12 am)