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.hoem...@hpe.com>
> Reported-by: Yasunori Goto <y-g...@jp.fujitsu.com>
> Signed-off-by: Dan Williams <dan.j.willi...@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 via email to