From patchwork Mon Jun 26 09:57:10 2017 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: 9808995 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 AEB1760329 for ; Mon, 26 Jun 2017 09:58:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B418B2847B for ; Mon, 26 Jun 2017 09:58:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A715A28487; Mon, 26 Jun 2017 09:58:15 +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.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_HI 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 69E0C2847B for ; Mon, 26 Jun 2017 09:58:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751471AbdFZJ6N (ORCPT ); Mon, 26 Jun 2017 05:58:13 -0400 Received: from mail-wm0-f54.google.com ([74.125.82.54]:35635 "EHLO mail-wm0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751397AbdFZJ6M (ORCPT ); Mon, 26 Jun 2017 05:58:12 -0400 Received: by mail-wm0-f54.google.com with SMTP id w126so2843317wme.0 for ; Mon, 26 Jun 2017 02:58:11 -0700 (PDT) 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=irbGb+KRJnkyZmHGCcTRnY2WEDjjR4yXcScGMGJV31Q=; b=AwNSdNgXNQV2nJ97B4KrOF3bPyKsCZ4vLRdh1MjHMN2+ahCJ1JmY0Aew9b9G8IF2cf +1AJseqaDGwHvhEvBh3WiVpMD469IgX1Vn7iw1dsk/NuEaLFfTdjxutUKErG8OWVjZq8 w92wgI4737yV+j6J6MI3H6VSRZX69CgwK1cEvxpKsVuhg2b3LTT69++tcof6aVYHU55a ZpOIunZJQ1cxwwvX9PhKGSL1Vy6WL0bmZodoK+wf816iqWosS9Nuc1sOzJZ4/XD8xiX+ xPtytmIKQTW7lcP5ewzPoU6VICs/w58BLAVGr1i0IEktk5swKMzr6x/Ip7bMQpMh4xsU lCfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=irbGb+KRJnkyZmHGCcTRnY2WEDjjR4yXcScGMGJV31Q=; b=irQifRovXoi69ZGZHLWLq0ttUiyzafwmq1ntuiGWI4uQD6GK2wDuRMmVaDA1eImzJP //f4NJejg73IxeOvlJCQuOQHnIM16N0NHdiJNrWBPcz0Bs44ummFu/ZXhX6DDANsKMdJ IX938pysPiEJTY3yuMPJmf/lXCz72Ha8E/QJ40bariqDuCfbnzGnDhaNQCIOFz8fbp3m M/dYeDcwjX3VCN3CnFLWTSYuCqRygNvS8qsKidHArvWrRHqgQ9B9MoqMnudhpWgnwzXi M2RxPDgZHnvsCSjBaK2cQIKyJVtDyi9/QpZodDXXNsHYPOrRgHeYJ6SQ/MizQjk3ojpE Jx/w== X-Gm-Message-State: AKS2vOx7DnnUEUF1eCiAFrwZ/78d13AhLJf/12NKVLPOW30fTFMxnOyV n2UfrQVNWbkv9fWh X-Received: by 10.80.149.209 with SMTP id x17mr15689114eda.175.1498471091153; Mon, 26 Jun 2017 02:58:11 -0700 (PDT) Received: from uHalley.cnexlabs.com (6164211-cl69.boa.fiberby.dk. [193.106.164.211]) by smtp.gmail.com with ESMTPSA id n26sm5212537edd.51.2017.06.26.02.58.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 26 Jun 2017 02:58:10 -0700 (PDT) From: "=?UTF-8?q?Javier=20Gonz=C3=A1lez?=" X-Google-Original-From: =?UTF-8?q?Javier=20Gonz=C3=A1lez?= To: mb@lightnvm.io, axboe@fb.com Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, =?UTF-8?q?Javier=20Gonz=C3=A1lez?= , =?UTF-8?q?Matias=20Bj=C3=B8rling?= Subject: [PATCH 01/20] lightnvm: re-convert ppa format on I/O failure Date: Mon, 26 Jun 2017 11:57:10 +0200 Message-Id: <1498471049-25505-2-git-send-email-javier@cnexlabs.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1498471049-25505-1-git-send-email-javier@cnexlabs.com> References: <1498471049-25505-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 In case of a failure when submitting a request, convert the ppa_list addresses to the target format so that it can interpret ppas for recovery Signed-off-by: Javier González Signed-off-by: Matias Bjørling --- drivers/lightnvm/core.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c index 440deb54031a..9ff348f69370 100644 --- a/drivers/lightnvm/core.c +++ b/drivers/lightnvm/core.c @@ -641,6 +641,7 @@ 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; + int ret; if (!dev->ops->submit_io) return -ENODEV; @@ -648,7 +649,12 @@ int nvm_submit_io(struct nvm_tgt_dev *tgt_dev, struct nvm_rq *rqd) nvm_rq_tgt_to_dev(tgt_dev, rqd); rqd->dev = tgt_dev; - return dev->ops->submit_io(dev, rqd); + + /* In case of error, fail with right address format */ + ret = dev->ops->submit_io(dev, rqd); + if (ret) + nvm_rq_dev_to_tgt(tgt_dev, rqd); + return ret; } EXPORT_SYMBOL(nvm_submit_io);