From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-x236.google.com (mail-oi0-x236.google.com [IPv6:2607:f8b0:4003:c06::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 7E7C321E11D13 for ; Mon, 28 Aug 2017 14:03:45 -0700 (PDT) Received: by mail-oi0-x236.google.com with SMTP id r203so13711944oih.0 for ; Mon, 28 Aug 2017 14:06:25 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20170828205033.GA6859@anatevka.americas.hpqcorp.net> References: <150393513271.10003.253995897844648312.stgit@dwillia2-desk3.amr.corp.intel.com> <20170828205033.GA6859@anatevka.americas.hpqcorp.net> From: Dan Williams Date: Mon, 28 Aug 2017 14:06:23 -0700 Message-ID: Subject: Re: [PATCH] libnvdimm: clean up command definitions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: Jerry Hoemann Cc: Yasunori Goto , "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" List-ID: On Mon, Aug 28, 2017 at 1:50 PM, Jerry Hoemann wrote: > > On Mon, Aug 28, 2017 at 08:45:32AM -0700, Dan Williams wrote: >> Remove the command payloads that do not have an associated libnvdimm >> ioctl. I.e. remove the payloads that would only ever be carried in the >> ND_CMD_CALL envelope. This prevents userspace from growing unnecessary >> dependencies on this kernel header when userspace already has everything >> it needs to craft and send these commands. > > Userspace needs to include linux/ndctl.h to make the call as > that is where nd_cmd_pkg is defined. > > So you want to have some structures defined in ndctl.h and other > defined in the to be created libndctl-nfit.h? Plus a third header > file for the HPE non-root calls? Yes. ndctl.h exports the ioctl command payloads, everything that goes inside of ND_CMD_CALL is defined by userspace headers. The libndctl-nfit.h header is proposed as a place to land vendor agnostic NFIT-defined payloads, and any vendor specific definitions would remain internal to libndctl as they are today. > Will libndctl-nfit.h be generally available and installed? Yes, that's the plan. > Will it be clean so that other applications can use it to get these > definitions? Or will it be loaded w/ a bunch of stuff only useful > to your ndctl command? Yes, that's the plan. It's a bug if libndctl-nfit.h is not generically clean for issuing the NFIT root device commands via some ND_CMD_CALL helpers from the base libndctl library. In other words libndctl-nfit.h defines the payload and libndctl defines some general helpers for issuing commands. _______________________________________________ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751409AbdH1VG0 (ORCPT ); Mon, 28 Aug 2017 17:06:26 -0400 Received: from mail-oi0-f52.google.com ([209.85.218.52]:35115 "EHLO mail-oi0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751324AbdH1VGY (ORCPT ); Mon, 28 Aug 2017 17:06:24 -0400 MIME-Version: 1.0 In-Reply-To: <20170828205033.GA6859@anatevka.americas.hpqcorp.net> References: <150393513271.10003.253995897844648312.stgit@dwillia2-desk3.amr.corp.intel.com> <20170828205033.GA6859@anatevka.americas.hpqcorp.net> From: Dan Williams Date: Mon, 28 Aug 2017 14:06:23 -0700 Message-ID: Subject: Re: [PATCH] libnvdimm: clean up command definitions To: Jerry Hoemann Cc: "linux-nvdimm@lists.01.org" , Yasunori Goto , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 28, 2017 at 1:50 PM, Jerry Hoemann wrote: > > On Mon, Aug 28, 2017 at 08:45:32AM -0700, Dan Williams wrote: >> Remove the command payloads that do not have an associated libnvdimm >> ioctl. I.e. remove the payloads that would only ever be carried in the >> ND_CMD_CALL envelope. This prevents userspace from growing unnecessary >> dependencies on this kernel header when userspace already has everything >> it needs to craft and send these commands. > > Userspace needs to include linux/ndctl.h to make the call as > that is where nd_cmd_pkg is defined. > > So you want to have some structures defined in ndctl.h and other > defined in the to be created libndctl-nfit.h? Plus a third header > file for the HPE non-root calls? Yes. ndctl.h exports the ioctl command payloads, everything that goes inside of ND_CMD_CALL is defined by userspace headers. The libndctl-nfit.h header is proposed as a place to land vendor agnostic NFIT-defined payloads, and any vendor specific definitions would remain internal to libndctl as they are today. > Will libndctl-nfit.h be generally available and installed? Yes, that's the plan. > Will it be clean so that other applications can use it to get these > definitions? Or will it be loaded w/ a bunch of stuff only useful > to your ndctl command? Yes, that's the plan. It's a bug if libndctl-nfit.h is not generically clean for issuing the NFIT root device commands via some ND_CMD_CALL helpers from the base libndctl library. In other words libndctl-nfit.h defines the payload and libndctl defines some general helpers for issuing commands.