Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1022632imu; Tue, 11 Dec 2018 11:18:58 -0800 (PST) X-Google-Smtp-Source: AFSGD/W+0s3H8Av++wCCzmg08E+U/KrFq7hskXULuFBdy63ddG1L8vD9xyruLzZZo48eLd7Bu5xD X-Received: by 2002:a63:160d:: with SMTP id w13mr16026221pgl.43.1544555938926; Tue, 11 Dec 2018 11:18:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544555938; cv=none; d=google.com; s=arc-20160816; b=LfXPp512J/bQ34qk9Nrs9pltArzr98v84pjXnRhGR0shKbaAMImruvsarKUCwzHHCu JDdBxhXmWUG29+yN/3kCI9IlhNPKbysWuV9q7LOrT8431tonx9CRlwGzKHmKO5KxF07p L7AVn71XclQktL3Tybhbsohaop3JsO3wqQbeNQhnC8DdpObecl60OuSrsHC5vbn1YApy p08jSs/VeLKg1YEEyP2oupsZhpALYH6jpw3XqH/ZZPTY8ZgK88GA95lIamuUuD5jRYHz RojwGTq9e3WC7GkmMY9l6RLdLw0e4oSITMajNJG3/anE2bUT6DbDCQ7e78MkLuQRaRDD czSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=H9nWBPfYW84tctbJc+ROv6OY4/CteCEQpmHH16Eu8b8=; b=ko+0dGyyqupQsm426I3RvTMsHscDpxSuxmBk5yxvxb4SRPffugOyh+rUXkWjYKhjwK Ct22aTpO8F53Cz/O1kzDR9p8itGlBXYm//cngcb+VmrvMHJsl+NGGICHRK3n5ZYXh7Yg QG85jj68VagRzqsMW3NNtFzEKKDP8f0q7RJQBl6cHUcB4huaRUnpyqUaE3yA/uSkHttL 7VMTlJoflqY8yNkPALe1GmEI3DI9uJj3FlpvflAMk8QC7aD8jHHdIrxsDny+VfpQ3C8L WuxC3/rZq1l7lJoYcqaH1ZnJk9kKixBTfhG5GHed2N84/viw6h199cxFFOP0sZa32mkO /v2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lightnvm-io.20150623.gappssmtp.com header.s=20150623 header.b=h1OPYfc4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i17si13013767pgk.233.2018.12.11.11.18.44; Tue, 11 Dec 2018 11:18:58 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@lightnvm-io.20150623.gappssmtp.com header.s=20150623 header.b=h1OPYfc4; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727225AbeLKTRb (ORCPT + 99 others); Tue, 11 Dec 2018 14:17:31 -0500 Received: from mail-lj1-f195.google.com ([209.85.208.195]:43738 "EHLO mail-lj1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727178AbeLKTR0 (ORCPT ); Tue, 11 Dec 2018 14:17:26 -0500 Received: by mail-lj1-f195.google.com with SMTP id 83-v6so14034162ljf.10 for ; Tue, 11 Dec 2018 11:17:24 -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=H9nWBPfYW84tctbJc+ROv6OY4/CteCEQpmHH16Eu8b8=; b=h1OPYfc4N0gmIDfmwABehgiudKb18sHygTDILZWOYjI++3IODxZvZwvdt+vpRBcRo+ KOjqr70lbHTwuPrY3jWc3pXkZE2AuPDnNpDRVw3NhlfBCy/oFkkQLDcSVz1fUmSi+jNG /QvCQcIWjOnS8LBxRJgJV7KwKNk6w4sFmilzMDQvDMUxmT25pa0Yj2VGXKBxgoX2ptkc tEMAgV3AJ56Ecx3LIM6+0dYh030yyvJhE8H5NU/l0YPcyf8Bw4tkVf1HYK9yis6mPY00 Xw6336c3Lk1VzXlGyHAElOyiBVB1dVwlEcae5N4JNicVVNE7yf+JwZwoSOuwr5P82WkG 00xw== 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=H9nWBPfYW84tctbJc+ROv6OY4/CteCEQpmHH16Eu8b8=; b=gMkjRiCFR5nntRlKvgHm/PU2OTo9Um9RCLa0zNYy1JMkatDMdWLaoTZf6IUA0veLie EGtNl2y4/PbcFfGnmJxhM79biwHp5h/GlSzwb6xo213zm3+jaXtmLIwlxowVvEdrOaZQ cfWmANMU6kX20jg210Mqg0F7nKVa7pfJa/MzAS0rU1H28lYx8uiJICy1CYRaZ3zoN1y1 CNzb5JKEUyzHVpx9YN3o5vhwvVgPrMX6x8JIQcAwaDr9+drRCe/EQ+0Wa9tfSUxUI078 7utukJ1dBZ5LY6aqrOf8FRxVb3B1ac3J6LNcghTuUpkdmGtMeDxwL9zokEYw06bmiZuQ WT0A== X-Gm-Message-State: AA+aEWb5soplDSMwAVKk/zyH7IYt+Yv9VG5UEfLRbvS5EB+2n0VfIX7P D92ttMLc67vmJA/0YQFeyRuqUA== X-Received: by 2002:a2e:9957:: with SMTP id r23-v6mr10159814ljj.98.1544555843804; Tue, 11 Dec 2018 11:17:23 -0800 (PST) Received: from skyninja.webspeed.dk (95-166-82-66-cable.dk.customer.tdc.net. [95.166.82.66]) by smtp.gmail.com with ESMTPSA id v64sm2764583lfa.48.2018.12.11.11.17.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Dec 2018 11:17:23 -0800 (PST) From: =?UTF-8?q?Matias=20Bj=C3=B8rling?= To: axboe@fb.com Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, Igor Konopko , =?UTF-8?q?Matias=20Bj=C3=B8rling?= Subject: [GIT PULL 19/21] lightnvm: disable interleaved metadata Date: Tue, 11 Dec 2018 20:16:25 +0100 Message-Id: <20181211191627.15542-20-mb@lightnvm.io> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181211191627.15542-1-mb@lightnvm.io> References: <20181211191627.15542-1-mb@lightnvm.io> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Igor Konopko Currently pblk only check the size of I/O metadata and does not take into account if this metadata is in a separate buffer or interleaved in a single metadata buffer. In reality only the first scenario is supported, where second mode will break pblk functionality during any IO operation. This patch prevents pblk to be instantiated in case device only supports interleaved metadata. Reviewed-by: Javier González Signed-off-by: Igor Konopko Signed-off-by: Matias Bjørling --- drivers/lightnvm/pblk-init.c | 6 ++++++ drivers/nvme/host/lightnvm.c | 1 + include/linux/lightnvm.h | 1 + 3 files changed, 8 insertions(+) diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c index ff6a6df369c3..e8055b796381 100644 --- a/drivers/lightnvm/pblk-init.c +++ b/drivers/lightnvm/pblk-init.c @@ -1175,6 +1175,12 @@ static void *pblk_init(struct nvm_tgt_dev *dev, struct gendisk *tdisk, return ERR_PTR(-EINVAL); } + if (geo->ext) { + pblk_err(pblk, "extended metadata not supported\n"); + kfree(pblk); + return ERR_PTR(-EINVAL); + } + spin_lock_init(&pblk->resubmit_lock); spin_lock_init(&pblk->trans_lock); spin_lock_init(&pblk->lock); diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c index ba268d7cf141..f145fc0220d6 100644 --- a/drivers/nvme/host/lightnvm.c +++ b/drivers/nvme/host/lightnvm.c @@ -990,6 +990,7 @@ int nvme_nvm_register(struct nvme_ns *ns, char *disk_name, int node) geo = &dev->geo; geo->csecs = 1 << ns->lba_shift; geo->sos = ns->ms; + geo->ext = ns->ext; dev->q = q; memcpy(dev->name, disk_name, DISK_NAME_LEN); diff --git a/include/linux/lightnvm.h b/include/linux/lightnvm.h index 7afedaddbd15..5d865a5d5cdc 100644 --- a/include/linux/lightnvm.h +++ b/include/linux/lightnvm.h @@ -357,6 +357,7 @@ struct nvm_geo { u32 clba; /* sectors per chunk */ u16 csecs; /* sector size */ u16 sos; /* out-of-band area size */ + bool ext; /* metadata in extended data buffer */ /* device write constrains */ u32 ws_min; /* minimum write size */ -- 2.17.1