Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754296AbbK0N0r (ORCPT ); Fri, 27 Nov 2015 08:26:47 -0500 Received: from mail-pa0-f66.google.com ([209.85.220.66]:34471 "EHLO mail-pa0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753857AbbK0N00 (ORCPT ); Fri, 27 Nov 2015 08:26:26 -0500 From: Minfei Huang To: axboe@fb.com, m@bjorling.me, akinobu.mita@gmail.com, rusty@rustcorp.com.au, keith.busch@intel.com, mcgrof@suse.com, krinkin.m.u@gmail.com Cc: linux-kernel@vger.kernel.org, mhuang@redhat.com, Minfei Huang Subject: [PATCH 2/2] null_blk: Do a cleanup for function null_add_dev Date: Fri, 27 Nov 2015 21:26:13 +0800 Message-Id: <1448630773-4119-2-git-send-email-mnfhuang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1448630773-4119-1-git-send-email-mnfhuang@gmail.com> References: <1448630773-4119-1-git-send-email-mnfhuang@gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2154 Lines: 75 If null block is a lightnvm device, it wouldn't need to allocate the variant disk. So it is fine to separate the code for lightnvm and normal device to use if/else. Thus we don't never need the flag out_cleanup_lightnvm. Signed-off-by: Minfei Huang --- drivers/block/null_blk.c | 42 +++++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/drivers/block/null_blk.c b/drivers/block/null_blk.c index 729ecd7..7d5d2e7 100644 --- a/drivers/block/null_blk.c +++ b/drivers/block/null_blk.c @@ -739,32 +739,28 @@ static int null_add_dev(void) &null_lnvm_dev_ops); if (rv) goto out_cleanup_blk_list; - goto done; - } - - disk = nullb->disk = alloc_disk_node(1, home_node); - if (!disk) { - rv = -ENOMEM; - goto out_cleanup_lightnvm; + } else { + disk = nullb->disk = alloc_disk_node(1, home_node); + if (!disk) { + rv = -ENOMEM; + goto out_cleanup_blk_list; + } + size = gb * 1024 * 1024 * 1024ULL; + set_capacity(disk, size >> 9); + + disk->flags |= + GENHD_FL_EXT_DEVT | GENHD_FL_SUPPRESS_PARTITION_INFO; + disk->major = null_major; + disk->first_minor = nullb->index; + disk->fops = &null_fops; + disk->private_data = nullb; + disk->queue = nullb->q; + strncpy(disk->disk_name, nullb->disk_name, DISK_NAME_LEN); + + add_disk(disk); } - size = gb * 1024 * 1024 * 1024ULL; - set_capacity(disk, size >> 9); - - disk->flags |= GENHD_FL_EXT_DEVT | GENHD_FL_SUPPRESS_PARTITION_INFO; - disk->major = null_major; - disk->first_minor = nullb->index; - disk->fops = &null_fops; - disk->private_data = nullb; - disk->queue = nullb->q; - strncpy(disk->disk_name, nullb->disk_name, DISK_NAME_LEN); - - add_disk(disk); -done: return 0; -out_cleanup_lightnvm: - if (use_lightnvm) - nvm_unregister(nullb->disk_name); out_cleanup_blk_list: mutex_lock(&lock); list_del_init(&nullb->list); -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/