Received: by 10.213.65.68 with SMTP id h4csp1118261imn; Wed, 21 Mar 2018 03:07:59 -0700 (PDT) X-Google-Smtp-Source: AG47ELvkBoTVyqUSnoT4Df7yhBZvgUEpDZwv1xkD4SJ11/cOKCY62zAglJQROoNmxKs+tePADjmy X-Received: by 2002:a17:902:b683:: with SMTP id c3-v6mr19684683pls.154.1521626879872; Wed, 21 Mar 2018 03:07:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521626879; cv=none; d=google.com; s=arc-20160816; b=FtCXS9xDbEyVpoIQrkYSb+f0wjyjd+pfoKtKKZtk/7FTj2y81mly6LuW4PoAuSpcdD nrL2cNqpllS3HmXIiQjnmqRABkpM6QfbkoNkryEN5Zr+WFPX4iIbOe15azfOlWsDwqrL uTxCIu+v6Wiy8hojsQbPP+OKsHSzleA3YuQyuregpQoAALxNT7P2RF95v74b8oxr3b77 OQ3n8mJcX98DGu/X4cg5psVZTZdZfUL6pZyDjLuSKd3anJ8q697R0URr/MXiEacrH6LZ DFk9128AqDFLgU9TNqx4BSJ3knYt5c5n5KzcgybAC1Jp9IIOweYtGYBeTmL0hzs39Vmo OlMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:subject:dkim-signature :arc-authentication-results; bh=+rS6euOMwp5uzn9y6gi31+2SuEOEucvRLWVpc8oL2Zc=; b=a1repHhLH2naJefy9HkCNgXcjmj3WPkLIcJt+aDPQu0mgEzDH9oSb+8OtyXRss3LpX uk2OalQP8vRCJTDRlYU4QVj2KUQlmak25AyMavp/c3trgb4y7aFfxouXDapBsunJ5slq tqHmKvUHKJiE8w+XgpD2kaIlTvVJts4kSxn0nUxyE+lM+ISkLLkTeABgrjhxj1dieLpv YXy/A5esPXiXuhf1wK3hn6ekf14kRqY6xCU53Rzyp+XcpuzdWGVvQcfbhYKNbDXX9qIH z6thOTQ8UffwiHwprKbajGsB5uAXuifUBu1xr0JLSFKbC7wgdBwVT/9OK96o1WWe3Ftq foVA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lightnvm-io.20150623.gappssmtp.com header.s=20150623 header.b=KyRQ4Y08; 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 91-v6si3516202pla.473.2018.03.21.03.07.45; Wed, 21 Mar 2018 03:07:59 -0700 (PDT) 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=KyRQ4Y08; 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 S1751856AbeCUKGM (ORCPT + 99 others); Wed, 21 Mar 2018 06:06:12 -0400 Received: from mail-lf0-f68.google.com ([209.85.215.68]:38723 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751545AbeCUKGJ (ORCPT ); Wed, 21 Mar 2018 06:06:09 -0400 Received: by mail-lf0-f68.google.com with SMTP id y2-v6so6958877lfc.5 for ; Wed, 21 Mar 2018 03:06:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lightnvm-io.20150623.gappssmtp.com; s=20150623; h=subject:cc:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=+rS6euOMwp5uzn9y6gi31+2SuEOEucvRLWVpc8oL2Zc=; b=KyRQ4Y08W+TQe6D9vc6DXcjqBAPKNkXvLT5nlF3+gYcuaED/tX+wqViMpVv5gnoMqF /2Ks20R9qJb0S7s8zmrnWmJQhyCZ1gmtMxO2NBNmsAi8OhkjvsC9dzFmMhCPhAVwUuID s+uxhASnm+w1ujnjhGHBihshxqslxapKgwgM3T0KPDOWTQYjfjbkFrxQ0kvFoAqeIBvP IdpqV5ZRj9bQJj9bcj6nTqPYfSepptDR0UCWYJdzdxHoLjVgPWHgmlUxVGxLUqpQ65DK fecHshIQH2Iy4d7rnCSFcUq8EZIy/yI6jYYL1zluort1PhAojhISGMQ2UooUp25v0al2 P+1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=+rS6euOMwp5uzn9y6gi31+2SuEOEucvRLWVpc8oL2Zc=; b=rcG2JtX+9wa6Ldj8/Kvd3xFvcVNV9aIMzCl/GfopK+poKOq01eVk5KMD8SRPQLF957 LzLueSOK5rb6nVuRMfyRqBP68WILzVk3KhkayhDX0qo2uaEgj1lCgLiM5PpiT+zSBBf3 fYiF6cVYM0+NioNZMRYK6BAOf3aQJALFF+thiUici7Qlietf6t4olCpMFrrqZ9/ZZeSV zlFzkoLCyhW/fxTXmNF/9GJgS9HWiViGuAuzAwr1CEkBCqZ++50TQAipFh/oLIjfHfWU 3guQhRawQhS94BTaZgU4TRKFWVo7fwoj5EIl5+ccKGZnCZtOe0cv0z8/tqPNtSBKxI2T 13ug== X-Gm-Message-State: AElRT7FPrVc08FDQ8HTiZoeE/ij/pJ514BexUFTSW26q5aGrDVU+ke04 icfONhZ4VjS2IJVwNeDj3vKaPg== X-Received: by 10.46.117.2 with SMTP id q2mr2007557ljc.12.1521626767505; Wed, 21 Mar 2018 03:06:07 -0700 (PDT) Received: from [192.168.0.10] (x1-6-a4-08-f5-18-3c-3a.cpe.webspeed.dk. [188.176.29.198]) by smtp.googlemail.com with ESMTPSA id h66-v6sm936867lfi.89.2018.03.21.03.06.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Mar 2018 03:06:06 -0700 (PDT) Subject: Re: [PATCH 08/12] lightnvm: implement get log report chunk helpers Cc: =?UTF-8?Q?Javier_Gonz=c3=a1lez?= , linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, =?UTF-8?Q?Javier_Gonz=c3=a1lez?= , Keith Busch , Christoph Hellwig , Sagi Grimberg References: <1520004080-27760-1-git-send-email-javier@cnexlabs.com> <1520004080-27760-9-git-send-email-javier@cnexlabs.com> From: =?UTF-8?Q?Matias_Bj=c3=b8rling?= Message-ID: <8a0a3bad-26a4-ca2f-4bd8-5c71858f6d00@lightnvm.io> Date: Wed, 21 Mar 2018 11:06:05 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <1520004080-27760-9-git-send-email-javier@cnexlabs.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 8bit To: unlisted-recipients:; (no To-header on input) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/02/2018 04:21 PM, Javier González wrote: > The 2.0 spec provides a report chunk log page that can be retrieved > using the stangard nvme get log page. This replaces the dedicated > get/put bad block table in 1.2. > > This patch implements the helper functions to allow targets retrieve the > chunk metadata using get log page. It makes nvme_get_log_ext available > outside of nvme core so that we can use it form lightnvm. > > Signed-off-by: Javier González > --- > drivers/lightnvm/core.c | 11 +++++++ > drivers/nvme/host/core.c | 6 ++-- > drivers/nvme/host/lightnvm.c | 74 ++++++++++++++++++++++++++++++++++++++++++++ > drivers/nvme/host/nvme.h | 3 ++ > include/linux/lightnvm.h | 24 ++++++++++++++ > 5 files changed, 115 insertions(+), 3 deletions(-) > > diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c > index 2e9e9f973a75..af642ce6ba69 100644 > --- a/drivers/nvme/host/core.c > +++ b/drivers/nvme/host/core.c > @@ -2127,9 +2127,9 @@ static int nvme_init_subsystem(struct nvme_ctrl *ctrl, struct nvme_id_ctrl *id) > return ret; > } > > -static int nvme_get_log_ext(struct nvme_ctrl *ctrl, struct nvme_ns *ns, > - u8 log_page, void *log, > - size_t size, size_t offset) > +int nvme_get_log_ext(struct nvme_ctrl *ctrl, struct nvme_ns *ns, > + u8 log_page, void *log, > + size_t size, size_t offset) > { > struct nvme_command c = { }; > unsigned long dwlen = size / 4 - 1; > diff --git a/drivers/nvme/host/lightnvm.c b/drivers/nvme/host/lightnvm.c > index 08f0f6b5bc06..ffd64a83c8c3 100644 > --- a/drivers/nvme/host/lightnvm.c > +++ b/drivers/nvme/host/lightnvm.c > @@ -35,6 +35,10 @@ enum nvme_nvm_admin_opcode { > nvme_nvm_admin_set_bb_tbl = 0xf1, > }; > > > diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h > index 1ca08f4993ba..505f797f8c6c 100644 > --- a/drivers/nvme/host/nvme.h > +++ b/drivers/nvme/host/nvme.h > @@ -396,6 +396,9 @@ int nvme_reset_ctrl(struct nvme_ctrl *ctrl); > int nvme_delete_ctrl(struct nvme_ctrl *ctrl); > int nvme_delete_ctrl_sync(struct nvme_ctrl *ctrl); > > +int nvme_get_log_ext(struct nvme_ctrl *ctrl, struct nvme_ns *ns, > + u8 log_page, void *log, size_t size, size_t offset); > + > extern const struct attribute_group nvme_ns_id_attr_group; > extern const struct block_device_operations nvme_ns_head_ops; > Keith, Christoph, Sagi, Is it okay that these two changes that exposes the nvme_get_log_ext fn are carried through Jens' tree after the nvme tree for 4.17 has been pulled?