From patchwork Fri Nov 18 14:43:41 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?UTF-8?q?Javier=20Gonz=C3=A1lez?= X-Patchwork-Id: 9436707 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id B63AF60238 for ; Fri, 18 Nov 2016 14:50:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B1815298F2 for ; Fri, 18 Nov 2016 14:50:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A67BF29919; Fri, 18 Nov 2016 14:50:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3936429912 for ; Fri, 18 Nov 2016 14:50:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753567AbcKROuK (ORCPT ); Fri, 18 Nov 2016 09:50:10 -0500 Received: from mail-wm0-f41.google.com ([74.125.82.41]:36368 "EHLO mail-wm0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753674AbcKROuJ (ORCPT ); Fri, 18 Nov 2016 09:50:09 -0500 Received: by mail-wm0-f41.google.com with SMTP id g23so42999746wme.1 for ; Fri, 18 Nov 2016 06:50:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lightnvm-io.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MQbnH7+AwPlNDVcefwnlW8JaxwsssW6OcnWTQpPa/0I=; b=JvTLDY3TQ4WIDaEAwA73dqmRuj9iI+heDTOVjUMh3a8+YflbViC/ccDHpsxM52LcYo k/owqx4UfjmmXnZx+IEyorIfOlWx9/qt7AgwCL+sdRv1yv4jTd5RQgxghuwBtFnHf2eX jhtqeb9eTPmCdXHGeoZVVAHxhnZ519FeRl5lHbUT4dBj8FiWgbcS5JGCV1SU19LlGen2 LAsfqckRF5QGHsMfq1WSKiuf5EUOZbEiktDbI0NJfSbhYByL2S0ZWIICefe9lkJcDak/ iSwWqULOLKSv5d8s7OMGnLUNHTtOkrh+H1E2netpMyN6TeRDxyN0ck1UBuEmJj3Kkl6f xFpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MQbnH7+AwPlNDVcefwnlW8JaxwsssW6OcnWTQpPa/0I=; b=X5d7H8bDLYXiHK4Y2eOvtIRdAsovveS9jnVm/rYYcx06v31sVTvDkgT1w0P8KpLuDY F6NLFTkEGLqbuiii1Hk5TkZJT4BQiJO8rc8NvZxI7zpmV8pCylVymAdDqtkRf01gUejd MQrjG8uA/1316RmBB0Vu4U2DAx2rb3+1ExoCoRQboavrjVh5HR3wBmKU2wQe/Kjklz4m 61KTvnJgWrh+ClCiA1R5pspzw9+IWMfKcX8Cr9SjqFdMb2QvPdsVp0BWxUdA0n1JJSFy ohbQQdEpMdRlXu7Jkj1Z7wMEWqBtFF551+kTvjXhBr/WyFH8cypXcL+SdxFEJFHRve0L QaOw== X-Gm-Message-State: AKaTC013xSRv89HRFAd+F8W0JRXXaJJe5OVd2Caxfid6LF00aWeJtvDkiqh6iad+AmVZIA== X-Received: by 10.194.26.133 with SMTP id l5mr49962wjg.4.1479480252249; Fri, 18 Nov 2016 06:44:12 -0800 (PST) Received: from uHalley.cnexlabs.com (6164211-cl69.boa.fiberby.dk. [193.106.164.211]) by smtp.gmail.com with ESMTPSA id 138sm3703576wms.20.2016.11.18.06.44.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 18 Nov 2016 06:44:11 -0800 (PST) From: "=?UTF-8?q?Javier=20Gonz=C3=A1lez?=" X-Google-Original-From: =?UTF-8?q?Javier=20Gonz=C3=A1lez?= To: mb@lightnvm.io Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Javier=20Gonz=C3=A1lez?= Subject: [PATCH 19/20] lightnvm: introduce max_phys_sects helper function Date: Fri, 18 Nov 2016 15:43:41 +0100 Message-Id: <1479480222-18790-20-git-send-email-javier@cnexlabs.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1479480222-18790-1-git-send-email-javier@cnexlabs.com> References: <1479480222-18790-1-git-send-email-javier@cnexlabs.com> MIME-Version: 1.0 Sender: linux-block-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-block@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Target devices do not have access to the device driver operations. Introduce a helper function that exposes the max. number of physical sectors supported by the underlying device. Signed-off-by: Javier González --- drivers/lightnvm/core.c | 8 ++++++++ include/linux/lightnvm.h | 1 + 2 files changed, 9 insertions(+) diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c index 69f261e..3d8eaac 100644 --- a/drivers/lightnvm/core.c +++ b/drivers/lightnvm/core.c @@ -203,6 +203,14 @@ int nvm_set_bb_tbl(struct nvm_dev *dev, struct ppa_addr *ppas, int nr_ppas, } EXPORT_SYMBOL(nvm_set_bb_tbl); +int nvm_max_phys_sects(struct nvm_tgt_dev *tgt_dev) +{ + struct nvm_dev *dev = tgt_dev->parent; + + return dev->ops->max_phys_sect; +} +EXPORT_SYMBOL(nvm_max_phys_sects); + int nvm_submit_io(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd) { struct nvm_dev *dev = tgt_dev->parent; diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h index b3ca603..44780ef 100644 --- a/include/linux/lightnvm.h +++ b/include/linux/lightnvm.h @@ -529,6 +529,7 @@ extern void nvm_unregister(struct nvm_dev *); extern int nvm_set_bb_tbl(struct nvm_dev *dev, struct ppa_addr *ppas, int nr_ppas, int type); +extern int nvm_max_phys_sects(struct nvm_tgt_dev *); extern int nvm_submit_io(struct nvm_tgt_dev *, struct nvm_rq *); extern void nvm_generic_to_addr_mode(struct nvm_dev *, struct nvm_rq *); extern void nvm_addr_to_generic_mode(struct nvm_dev *, struct nvm_rq *);