All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jerry Hoemann <jerry.hoemann@hpe.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Yasunori Goto <y-goto@jp.fujitsu.com>,
	linux-kernel@vger.kernel.org, linux-nvdimm@lists.01.org
Subject: Re: [PATCH] libnvdimm: clean up command definitions
Date: Mon, 28 Aug 2017 14:50:33 -0600	[thread overview]
Message-ID: <20170828205033.GA6859@anatevka.americas.hpqcorp.net> (raw)
In-Reply-To: <150393513271.10003.253995897844648312.stgit@dwillia2-desk3.amr.corp.intel.com>


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?

Will libndctl-nfit.h be generally available and installed?
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?


> 
> Cc: Jerry Hoemann <jerry.hoemann@hpe.com>
> Reported-by: Yasunori Goto <y-goto@jp.fujitsu.com>
> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
> ---
>  include/uapi/linux/ndctl.h |   37 -------------------------------------
>  1 file changed, 37 deletions(-)
> 
> diff --git a/include/uapi/linux/ndctl.h b/include/uapi/linux/ndctl.h
> index 6d3c54264d8e..3f03567631cb 100644
> --- a/include/uapi/linux/ndctl.h
> +++ b/include/uapi/linux/ndctl.h
> @@ -145,43 +145,6 @@ struct nd_cmd_clear_error {
>  	__u64 cleared;
>  } __packed;
>  
> -struct nd_cmd_trans_spa {
> -	__u64 spa;
> -	__u32 status;
> -	__u8  flags;
> -	__u8  _reserved[3];
> -	__u64 trans_length;
> -	__u32 num_nvdimms;
> -	struct nd_nvdimm_device {
> -		__u32 nfit_device_handle;
> -		__u32 _reserved;
> -		__u64 dpa;
> -	} __packed devices[0];
> -
> -} __packed;
> -
> -struct nd_cmd_ars_err_inj {
> -	__u64 err_inj_spa_range_base;
> -	__u64 err_inj_spa_range_length;
> -	__u8  err_inj_options;
> -	__u32 status;
> -} __packed;
> -
> -struct nd_cmd_ars_err_inj_clr {
> -	__u64 err_inj_clr_spa_range_base;
> -	__u64 err_inj_clr_spa_range_length;
> -	__u32 status;
> -} __packed;
> -
> -struct nd_cmd_ars_err_inj_stat {
> -	__u32 status;
> -	__u32 inj_err_rec_count;
> -	struct nd_error_stat_query_record {
> -		__u64 err_inj_stat_spa_range_base;
> -		__u64 err_inj_stat_spa_range_length;
> -	} __packed record[0];
> -} __packed;
> -
>  enum {
>  	ND_CMD_IMPLEMENTED = 0,
>  

-- 

-----------------------------------------------------------------------------
Jerry Hoemann                  Software Engineer   Hewlett Packard Enterprise
-----------------------------------------------------------------------------
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

WARNING: multiple messages have this Message-ID (diff)
From: Jerry Hoemann <jerry.hoemann@hpe.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: linux-nvdimm@lists.01.org, Yasunori Goto <y-goto@jp.fujitsu.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] libnvdimm: clean up command definitions
Date: Mon, 28 Aug 2017 14:50:33 -0600	[thread overview]
Message-ID: <20170828205033.GA6859@anatevka.americas.hpqcorp.net> (raw)
In-Reply-To: <150393513271.10003.253995897844648312.stgit@dwillia2-desk3.amr.corp.intel.com>


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?

Will libndctl-nfit.h be generally available and installed?
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?


> 
> Cc: Jerry Hoemann <jerry.hoemann@hpe.com>
> Reported-by: Yasunori Goto <y-goto@jp.fujitsu.com>
> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
> ---
>  include/uapi/linux/ndctl.h |   37 -------------------------------------
>  1 file changed, 37 deletions(-)
> 
> diff --git a/include/uapi/linux/ndctl.h b/include/uapi/linux/ndctl.h
> index 6d3c54264d8e..3f03567631cb 100644
> --- a/include/uapi/linux/ndctl.h
> +++ b/include/uapi/linux/ndctl.h
> @@ -145,43 +145,6 @@ struct nd_cmd_clear_error {
>  	__u64 cleared;
>  } __packed;
>  
> -struct nd_cmd_trans_spa {
> -	__u64 spa;
> -	__u32 status;
> -	__u8  flags;
> -	__u8  _reserved[3];
> -	__u64 trans_length;
> -	__u32 num_nvdimms;
> -	struct nd_nvdimm_device {
> -		__u32 nfit_device_handle;
> -		__u32 _reserved;
> -		__u64 dpa;
> -	} __packed devices[0];
> -
> -} __packed;
> -
> -struct nd_cmd_ars_err_inj {
> -	__u64 err_inj_spa_range_base;
> -	__u64 err_inj_spa_range_length;
> -	__u8  err_inj_options;
> -	__u32 status;
> -} __packed;
> -
> -struct nd_cmd_ars_err_inj_clr {
> -	__u64 err_inj_clr_spa_range_base;
> -	__u64 err_inj_clr_spa_range_length;
> -	__u32 status;
> -} __packed;
> -
> -struct nd_cmd_ars_err_inj_stat {
> -	__u32 status;
> -	__u32 inj_err_rec_count;
> -	struct nd_error_stat_query_record {
> -		__u64 err_inj_stat_spa_range_base;
> -		__u64 err_inj_stat_spa_range_length;
> -	} __packed record[0];
> -} __packed;
> -
>  enum {
>  	ND_CMD_IMPLEMENTED = 0,
>  

-- 

-----------------------------------------------------------------------------
Jerry Hoemann                  Software Engineer   Hewlett Packard Enterprise
-----------------------------------------------------------------------------

  reply	other threads:[~2017-08-28 20:47 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-28 15:45 [PATCH] libnvdimm: clean up command definitions Dan Williams
2017-08-28 15:45 ` Dan Williams
2017-08-28 20:50 ` Jerry Hoemann [this message]
2017-08-28 20:50   ` Jerry Hoemann
2017-08-28 21:06   ` Dan Williams
2017-08-28 21:06     ` Dan Williams
2017-08-29  1:03     ` Yasunori Goto
2017-08-29  1:03       ` Yasunori Goto
2017-08-29  3:22       ` Dan Williams
2017-08-29  3:22         ` Dan Williams
2017-08-29 10:09         ` Yasunori Goto
2017-08-29 10:09           ` Yasunori Goto
2017-08-29 16:26           ` Dan Williams
2017-08-29 16:26             ` Dan Williams
2017-08-30  0:23             ` Yasunori Goto
2017-08-30  0:23               ` Yasunori Goto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170828205033.GA6859@anatevka.americas.hpqcorp.net \
    --to=jerry.hoemann@hpe.com \
    --cc=dan.j.williams@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=y-goto@jp.fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.