Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752548AbcLCSx7 (ORCPT ); Sat, 3 Dec 2016 13:53:59 -0500 Received: from mailrelay104.isp.belgacom.be ([195.238.20.131]:44411 "EHLO mailrelay104.isp.belgacom.be" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751902AbcLCSx6 (ORCPT ); Sat, 3 Dec 2016 13:53:58 -0500 X-Belgacom-Dynamic: yes X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2DSAgDlE0NY/9JLtVtdHQEFAQsBgzgBA?= =?us-ascii?q?QEBAR+BYI1HlzABkkeCD4IIhiKCHkAUAQIBAQEBAQEBYiiFFi8jT0skE4hzryk?= =?us-ascii?q?9i2OGPo8EBZpmkRcCkDs9kVIfN4EZgwoBgQWBRj00AYl/AQEB?= X-IPAS-Result: =?us-ascii?q?A2DSAgDlE0NY/9JLtVtdHQEFAQsBgzgBAQEBAR+BYI1HlzA?= =?us-ascii?q?BkkeCD4IIhiKCHkAUAQIBAQEBAQEBYiiFFi8jT0skE4hzryk9i2OGPo8EBZpmk?= =?us-ascii?q?RcCkDs9kVIfN4EZgwoBgQWBRj00AYl/AQEB?= From: Fabian Frederick To: Dan Williams Cc: linux-nvdimm@ml01.01.org, linux-kernel@vger.kernel.org, fabf@skynet.be Subject: [PATCH V2 2/3 libnvdimm-pending] libnvdimm, namespace: avoid multiple sector calculations Date: Sat, 3 Dec 2016 19:53:53 +0100 Message-Id: <1480791233-21398-1-git-send-email-fabf@skynet.be> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1206 Lines: 39 Use sector_t for cleared Suggested-by: Dan Williams Signed-off-by: Fabian Frederick --- V2: -applied on top of libnvdimm-pending drivers/nvdimm/pmem.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c index 0f47062..9edad8b 100644 --- a/drivers/nvdimm/pmem.c +++ b/drivers/nvdimm/pmem.c @@ -51,17 +51,16 @@ static int pmem_clear_poison(struct pmem_device *pmem, phys_addr_t offset, unsigned int len) { struct device *dev = to_dev(pmem); - sector_t sector; - long cleared; + sector_t sector, cleared; sector = (offset - pmem->data_offset) / 512; - cleared = nvdimm_clear_poison(dev, pmem->phys_addr + offset, len); + cleared = nvdimm_clear_poison(dev, pmem->phys_addr + offset, len) / 512; - if (cleared > 0 && cleared / 512) { + if (cleared) { dev_dbg(dev, "%s: %#llx clear %ld sector%s\n", __func__, (unsigned long long) sector, - cleared / 512, cleared / 512 > 1 ? "s" : ""); - badblocks_clear(&pmem->bb, sector, cleared / 512); + cleared, cleared > 1 ? "s" : ""); + badblocks_clear(&pmem->bb, sector, cleared); } else { return -EIO; } -- 2.7.4