Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755617AbdDOS4s (ORCPT ); Sat, 15 Apr 2017 14:56:48 -0400 Received: from mail-dm3nam03on0041.outbound.protection.outlook.com ([104.47.41.41]:38016 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754787AbdDOS4Y (ORCPT ); Sat, 15 Apr 2017 14:56:24 -0400 Authentication-Results: fb.com; dkim=none (message not signed) header.d=none;fb.com; dmarc=none action=none header.from=cnexlabs.com; From: =?UTF-8?q?Matias=20Bj=C3=B8rling?= To: CC: , , =?UTF-8?q?Javier=20Gonz=C3=A1lez?= , =?UTF-8?q?Javier=20Gonz=C3=A1lez?= , =?UTF-8?q?Matias=20Bj=C3=B8rling?= Subject: [GIT PULL 05/19] lightnvm: free reverse device map Date: Sat, 15 Apr 2017 20:55:39 +0200 Message-ID: <20170415185553.16098-6-matias@cnexlabs.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170415185553.16098-1-matias@cnexlabs.com> References: <20170415185553.16098-1-matias@cnexlabs.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [193.106.164.211] X-ClientProxiedBy: AM5PR0701CA0069.eurprd07.prod.outlook.com (10.169.145.159) To CY4PR06MB2774.namprd06.prod.outlook.com (10.175.117.142) X-MS-Office365-Filtering-Correlation-Id: d9ee94b5-fb46-48d4-cb7f-08d484311a8a X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:CY4PR06MB2774; X-Microsoft-Exchange-Diagnostics: 1;CY4PR06MB2774;3:x/KPiHghzKnqtmRIVA3wL/HbMuk6Z/CwZWX6cKZ2ziLIAil5v/DDOwcisHYeXtnR2HlD7fDky4MXBJW9WVab/2l4S42RnZbrlj2hkwH8N3IoZqxGviPHezTNKMiuDwjOfpAEXinfDhEVmtotk2b7jc6xkF1lAkpAtlK+S/FoG51iCAYBtnRJBpV30qa7xg+jNWDzj6qUqyalo63sINKnEi7VKue/uVGrMYou1JlbXsbqrhJCle6vT1HO1nNT4GEoAaTlF+RqWFES3saE36Zyqs7IxAGufuVFe6bcLBSBKm8QkQQIpyJQyddFDkgWUwonpLT/hb5uG65ylAghVehffg==;25:pDClkfKyBjP0mtNgt5UlabhJyOkD7hpSpr8LjJR1Doc5SbYohx2HlW3/UzWrIOCR/xVVFGUPfYkYtHLnR4m/iEvvgJha9BN5lkTi+lsZRBqvYGEsX1wBug0XQzd5YFa2FV5G4aff85B+1xaXcP6r4IO5wGra7Z8Mla/JbqopMXK/0prDrnnjhFLqVobOsnJETwQvRKk3EaMNwZC709nBHyKkeJhWfTYOmxuFy8ODlBBK17SKm+i2ijr2T+VSesnc5hKplw6xjgN1TEyPB5hCPyWOFcvCSj5/Ex6L3A4SSdjAA3FF1sDNKIYSX83iqOm89v7SSUaEsD6ZnWcuTb+dK8PQKPoba/qxIdttVeV0vxjAAruKI8LXztCn0xZwalxQUf8q0z0SdcL12014payJu2Rko/vqSl3T4bGYOv4cA+ODD5hG6txA8q6DbLgykX6EtWbATJga1rI/UA4W6FElXw== X-Microsoft-Exchange-Diagnostics: 1;CY4PR06MB2774;31:7sNVWQCjL1kWdELub+UNHtppFwbAg8Du/zjLE07HVTdMff8ghvN+DHZLNMO0GnWcxbWc4tjCZtj0KSy3Tka4x17j/QEb1T6nZ1wXsfHOa1NH3dL1HHYw7vVDh+iZ81eGTsNd5Om1vZGC6OqFDYKVspJtsl9S04a2SpqHPk3x+BhOuvWoQTK9gLoeWR+Qc9H+CqKJSjmp+UgdwmMzLh2j761W66ykpVmSjCKb5INqdpo=;20:11MxvbyhTASWoHrq9aqVQaY9/ywNCVf3qIlgoAA/RVU7PtKdZWsM3Lszz7CjIy/9XrjOYGrerxCilT/yDvJQL5GI4pxzU/F2ZABIABSUIWHj3h1J1b2CVK8lRkS8Rc+WJYai/1WQFprCu8aCTYGgmkQhjnchPtFPmj1fvGT53gs= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123560025)(201703131423075)(201703061421075)(20161123555025)(6072148);SRVR:CY4PR06MB2774;BCL:0;PCL:0;RULEID:;SRVR:CY4PR06MB2774; X-Microsoft-Exchange-Diagnostics: 1;CY4PR06MB2774;4:v8fx9TwPVeGeqfcGkpjhqzcG5kYOb3xgtTCAJ83Y8VXulxa3YKFUNlkgxsWhqjCyLp/VQkXQbNVvyTTocOCglGbllQSyy1J26ZgDQeMS/Trm6sn5XUTdV4jdacyym2l+cr+mTJq8E3C+SLt2lzOCb60m594QlJ6wmO9RHD5gSme35Hynk1xtRuX7LQ8P68u+9hdM9oFzBhAqjoekfeN8Pp8THy4Y8LW/gG+khdPZPhZknwMT4nkzYDOnHS3KBNyfiMg7/bvCjEjslixa47OFY4W2XHPfXSye52SaZ2sTOYE/WmWQCOKMnmmziG33DKubbSfRmY/FYcXiv3KORB3ygWakRJXAb6nFtHyIIB0YYH5p3lxcqX53XH0LJIytTbkILVa46TI2CzkL4n7EEFNbgcGVt5XMxrSLBOakUdNGbKLp0mVMBq21JtkQ+i37FwXgaXB35FY6tNEDzHEm0vo2rKc1tIDRSgS9Un0T8UYAxmd4L2nE9aGYA4s6etUgTqpxpq4Ca2NZNbV159BsbQCS/Hds+d1PCwoMxddOo0X5vhxDVyzDlHB2L47+Yn4l/lNyWfZa0fTtXSWTU3CatKTEvYHOf3c1yLP2ILNNpbLmv9vCpNbxF6pLJsu9/7O0MpL5rHHAkP22/Hl9YyCakR51ieDjDpw9NY8bNwb5tloYG80jDe6cghRn7LBpK5+U5ZXK X-Forefront-PRVS: 02788FF38E X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(39400400002)(39450400003)(86362001)(305945005)(1076002)(6916009)(6666003)(25786009)(2950100002)(6486002)(2906002)(3846002)(6116002)(2870700001)(54906002)(189998001)(53936002)(53416004)(107886003)(110136004)(5660300001)(38730400002)(50986999)(76176999)(2351001)(4326008)(66066001)(5820100001)(23676002)(81166006)(47776003)(42186005)(36756003)(33646002)(50226002)(8676002)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR06MB2774;H:skyninja.cnexlabs.com;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTRQUjA2TUIyNzc0OzIzOnh6Uk1YYVBseG0xcVQ0c1dpclBGbldLSS9n?= =?utf-8?B?UDJwVGE2VU5tM0JwUjlDODVmb0llVmpiYzZGZXJGWU5kTExuWGFKOWFLRmEr?= =?utf-8?B?d1FhWXVmb2RpUlBpb21pSzZlbTVEY0Y4RkEzMnVTSFgyRUZlek5sZDNiVHJ5?= =?utf-8?B?dGxBTzczTmJ2TmRremVUN1g3NXN4Y1NlZzRySUxFaXZJSWFycHh5VEcvVllv?= =?utf-8?B?NkU4ZmVzcnk1MlhVRmRiNUM3UWJReURnVTEzaU80TTROcjZSUXZDbXRxUWlT?= =?utf-8?B?UVVYQzBOUHBlNnU0OTFhZ2Iwd3RHZ09kNytJbGRDZUJOTVh3WGt5SmZOcFBD?= =?utf-8?B?cGR0NFdiSC9Sc0laSk9KMm1xVG1GK1JzemZPeTNlK3RZRGVHd2VGbkU5SnFL?= =?utf-8?B?U1M3dUdxVmlSMUJJcjdMaFpJZ0dESGxPWmNKdlB4elF3V1B4RjdOSHh1ZGRq?= =?utf-8?B?MVI5OG5vQnkwNlNxMVZ2SmErVGh3OWRHWnYrOE1NYzJvblpLOXppWnMwWWdJ?= =?utf-8?B?NGFmOXdNdkIyaWF0YUpGK2FyWDk1M2lncHdobEpRV0tVZFZOZE84c2w4QUZT?= =?utf-8?B?NHJrZ0wrVTJJZVJlWWEyWHh4MG52K0NUQ21lSnNvcE5Sa1psQ2pHUnJ2Zzlj?= =?utf-8?B?cVIvSkdOd0VBWjBzWlcxcjJZQ0tQWWJtVUhqeERhMWRqVzRmU3N5VTA3VHY1?= =?utf-8?B?UVZlRDVzazdkZEhNemphdWxONUpVbXppZWF6WjhSOGtFOXlveVVwS0FDbGp3?= =?utf-8?B?OWR4ajhYc0pXNTlMQ3RvdXRPM0hwamVndWNZajNZWEM4MmxrSHdLLytjREhK?= =?utf-8?B?NW0zRnUrU1VRdG5hQkM5QkM0YzliYmpyR0l1WjdiM1gxVUVMREloemJwVms1?= =?utf-8?B?Z3FRMmg0Vkd2V0VGZGRsVjBRV0hIMEhjWHpvYW44VkR6N1A1bU1Nd0tOZENz?= =?utf-8?B?WUJIWXpnejVnYWUzMFVlNmxDQ3ViVmRDV25pL1hhd1EwSXdmZFlscXJQcDFT?= =?utf-8?B?a2RIV0JwOGNsMGRRaWpFb09tem1CdjRxUW5Oa09ZbGVqOXU4QjBmRVhrYkVa?= =?utf-8?B?Q0xSSGYzRFlTT1N0RzhxL3lkWjNkUDlBa2hDcDlFZG9Wd2UrVG9WVXE3bWZy?= =?utf-8?B?VjQ0eGQvQ1JHZ3U2VnZ1VkJqbjN4eXdseXV2UkZxYUdCOVpGVHhZb3llbVc4?= =?utf-8?B?RzNPeHptNFlsaGd4QkJlb2J3MWZEVlo3UEU2ZExxMVVkOTQzRVYxczY1cHFS?= =?utf-8?B?UnNpRS9ESnlHbFpaSGZIMG9vWGRNK2JIZXZsbmdIdWJ3L1ZvckJ0V1JyNFpr?= =?utf-8?Q?H/OrIfVTGIgm1746fe/BVOyOZevUGcDQ=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY4PR06MB2774;6:I9cLglptNayi5sltV277ra0CMLO218z2+THCDYuOY+B6bX0YPjBHW7zOjaVuPXxePOu3TXzlZYhQGcIqklN009p4wW8feyq2rRABLylag9PLwts+GOkatHwD5REdiNdmVU+nIv5LxOGbQva9IdJuchVCfhqGtQvQpt/kChWO13UUVT70H4LRKgNFd1eOLl78tgYmR3hjcOuEw5VS1AkyZp+XnJjozMbv48cT+xEV/X2UiTeAkX45wzcJvKOQwnrMPas7rMFOkYW7yF8PFS1TsvY5AIeekg0Mj6u+g8Uv8JeBqawAato619EuzWUb6XFbZpuzwHN9O3yi+/2qaNA8g1HnLNQUFf1ThrFTuO3oo5q1ymL6XETQFsOOiWoLPjnhpteAMo9Z2mGiuXjB8MiWvWiEbLBuORWzts6gVXyrUbVfxcVMki4Kio1wSthZCiU7vQ1OVaWeKk+Q6O5A1VNwIw==;5:gPEwnvPpYvGOJpJYB3Ofwa/xO9Cy27/vWoOuLgXj9GfdtzmDIC+78wlyvK7Ya8l1Ow6Xe56ZKgasdVte4okYsKBjYtfKL5st2eRaYg7PBX6U/YzGSgtWF3Aa8juRvWxRmAJAaoimDS0R991tj9KReA==;24:/XvFQGUd+hovYazoyKv+w3EO0H7KTzol9IJwLnM6icsRPgpEPfE2sk3EOIrVw+rPsD4QrQwh2AFXJ/lwB+4AE66CLnJM4d5n7hevTHINBac= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY4PR06MB2774;7:NUnnrxBI7zRk9cMnDehsV5NTq33zKEFus7hkkkAljKxAyF1ZkklUIFLKWji4s/b15ireCOZCJea49L8G+9atxy8G3WxrKcNw//rjxOYqtUL6r/DlbXLg7VWqz5FGvcrhH1BpFuyoOuftcmpkahl6hBBF9D7QLUwDaNskv2k2Jm8gsOjJ5zVb/81D4zgud+GqXw2eNcbcdDlxWKKtwk6o0Emy1M0Ckh9MXc5RITuuka4mDVxg1Ecqo8bLYQl54ieV6Q5FEGJzsbbzehA52B+r3Gfj6GtV6r8H9ofTMZJ+4eWrDyzkI4uJvpDU7YICUnY1Y8aGfEyXvbGobXFMXEix/w== X-OriginatorOrg: cnexlabs.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Apr 2017 18:56:18.7890 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR06MB2774 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1150 Lines: 44 From: Javier González Free the reverse mapping table correctly on target tear down Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/core.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c index 95105c4..a14c52c 100644 --- a/drivers/lightnvm/core.c +++ b/drivers/lightnvm/core.c @@ -411,6 +411,18 @@ static int nvm_register_map(struct nvm_dev *dev) return -ENOMEM; } +static void nvm_unregister_map(struct nvm_dev *dev) +{ + struct nvm_dev_map *rmap = dev->rmap; + int i; + + for (i = 0; i < dev->geo.nr_chnls; i++) + kfree(rmap->chnls[i].lun_offs); + + kfree(rmap->chnls); + kfree(rmap); +} + static void nvm_map_to_dev(struct nvm_tgt_dev *tgt_dev, struct ppa_addr *p) { struct nvm_dev_map *dev_map = tgt_dev->map; @@ -992,7 +1004,7 @@ void nvm_free(struct nvm_dev *dev) if (dev->dma_pool) dev->ops->destroy_dma_pool(dev->dma_pool); - kfree(dev->rmap); + nvm_unregister_map(dev); kfree(dev->lptbl); kfree(dev->lun_map); kfree(dev); -- 2.9.3