diff mbox

[ndctl] ndctl: sync with v4.13 ndctl.h

Message ID 150474103375.36240.17226654981174432854.stgit@dwillia2-desk3.amr.corp.intel.com (mailing list archive)
State Accepted
Commit 4ff0ee8b9512
Headers show

Commit Message

Dan Williams Sept. 6, 2017, 11:37 p.m. UTC
Latest ndctl.h has dropped these command definitions and we will
introduce a libndctl-nfit.h to carry them going forward.

Cc: Jerry Hoemann <jerry.hoemann@hpe.com>
Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
Cc: Vishal Verma <vishal.l.verma@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
---
 ndctl/ndctl.h |   38 +-------------------------------------
 1 file changed, 1 insertion(+), 37 deletions(-)

Comments

Gotou, Yasunori/五島 康文 Sept. 7, 2017, 12:58 a.m. UTC | #1
> Latest ndctl.h has dropped these command definitions and we will
> introduce a libndctl-nfit.h to carry them going forward.
> 
> Cc: Jerry Hoemann <jerry.hoemann@hpe.com>
> Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
> Cc: Vishal Verma <vishal.l.verma@intel.com>
> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
> ---
>  ndctl/ndctl.h |   38 +-------------------------------------
>  1 file changed, 1 insertion(+), 37 deletions(-)
> 
> diff --git a/ndctl/ndctl.h b/ndctl/ndctl.h
> index d70b97da3924..5e6905c76adc 100644
> --- a/ndctl/ndctl.h
> +++ b/ndctl/ndctl.h
> @@ -145,43 +145,6 @@ struct nd_cmd_clear_error {
>  	__u64 cleared;
>  } __attribute__((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;
> -	} __attribute__((packed)) devices[0];
> -
> -} __attribute__((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;
> -} __attribute__((packed));
> -
> -struct nd_cmd_ars_err_inj_clr {
> -	__u64 err_inj_clr_spa_range_base;
> -	__u64 err_inj_clr_spa_range_length;
> -	__u32 status;
> -} __attribute__((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;
> -	} __attribute__((packed)) record[0];
> -} __attribute__((packed));
> -
>  enum {
>  	ND_CMD_IMPLEMENTED = 0,
>  
> @@ -207,6 +170,7 @@ enum {
>  enum {
>  	ND_ARS_VOLATILE = 1,
>  	ND_ARS_PERSISTENT = 2,
> +	ND_ARS_RETURN_PREV_DATA = 1 << 1,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Here seems to come from other patch.
(This one?)
https://patchwork.kernel.org/patch/9776249/

I suppose it should be included to other patch.

Other thing looks good to me.


>  	ND_CONFIG_LOCKED = 1,
>  };
>  
> 
>
Dan Williams Sept. 7, 2017, 1:08 a.m. UTC | #2
On Wed, Sep 6, 2017 at 5:58 PM, Yasunori Goto <y-goto@jp.fujitsu.com> wrote:
>> Latest ndctl.h has dropped these command definitions and we will
>> introduce a libndctl-nfit.h to carry them going forward.
>>
>> Cc: Jerry Hoemann <jerry.hoemann@hpe.com>
>> Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
>> Cc: Vishal Verma <vishal.l.verma@intel.com>
>> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
>> ---
>>  ndctl/ndctl.h |   38 +-------------------------------------
>>  1 file changed, 1 insertion(+), 37 deletions(-)
>>
>> diff --git a/ndctl/ndctl.h b/ndctl/ndctl.h
>> index d70b97da3924..5e6905c76adc 100644
>> --- a/ndctl/ndctl.h
>> +++ b/ndctl/ndctl.h
>> @@ -145,43 +145,6 @@ struct nd_cmd_clear_error {
>>       __u64 cleared;
>>  } __attribute__((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;
>> -     } __attribute__((packed)) devices[0];
>> -
>> -} __attribute__((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;
>> -} __attribute__((packed));
>> -
>> -struct nd_cmd_ars_err_inj_clr {
>> -     __u64 err_inj_clr_spa_range_base;
>> -     __u64 err_inj_clr_spa_range_length;
>> -     __u32 status;
>> -} __attribute__((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;
>> -     } __attribute__((packed)) record[0];
>> -} __attribute__((packed));
>> -
>>  enum {
>>       ND_CMD_IMPLEMENTED = 0,
>>
>> @@ -207,6 +170,7 @@ enum {
>>  enum {
>>       ND_ARS_VOLATILE = 1,
>>       ND_ARS_PERSISTENT = 2,
>> +     ND_ARS_RETURN_PREV_DATA = 1 << 1,
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Here seems to come from other patch.
> (This one?)
> https://patchwork.kernel.org/patch/9776249/
>
> I suppose it should be included to other patch.
>
> Other thing looks good to me.

Since this is for ND_IOCTL_ARS_START and not ND_IOCTL_CALL it needs to
stay. It's also appeared in a released kernel, so even if we wanted to
remove it we would need to go through some deprecation period until we
can be sure no userspace is dependent on it being provided by the
kernel.
Gotou, Yasunori/五島 康文 Sept. 7, 2017, 1:25 a.m. UTC | #3
> On Wed, Sep 6, 2017 at 5:58 PM, Yasunori Goto <y-goto@jp.fujitsu.com> wrote:
> >> Latest ndctl.h has dropped these command definitions and we will
> >> introduce a libndctl-nfit.h to carry them going forward.
> >>
> >> Cc: Jerry Hoemann <jerry.hoemann@hpe.com>
> >> Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
> >> Cc: Vishal Verma <vishal.l.verma@intel.com>
> >> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
> >> ---
> >>  ndctl/ndctl.h |   38 +-------------------------------------
> >>  1 file changed, 1 insertion(+), 37 deletions(-)
> >>
> >> diff --git a/ndctl/ndctl.h b/ndctl/ndctl.h
> >> index d70b97da3924..5e6905c76adc 100644
> >> --- a/ndctl/ndctl.h
> >> +++ b/ndctl/ndctl.h
> >> @@ -145,43 +145,6 @@ struct nd_cmd_clear_error {
> >>       __u64 cleared;
> >>  } __attribute__((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;
> >> -     } __attribute__((packed)) devices[0];
> >> -
> >> -} __attribute__((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;
> >> -} __attribute__((packed));
> >> -
> >> -struct nd_cmd_ars_err_inj_clr {
> >> -     __u64 err_inj_clr_spa_range_base;
> >> -     __u64 err_inj_clr_spa_range_length;
> >> -     __u32 status;
> >> -} __attribute__((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;
> >> -     } __attribute__((packed)) record[0];
> >> -} __attribute__((packed));
> >> -
> >>  enum {
> >>       ND_CMD_IMPLEMENTED = 0,
> >>
> >> @@ -207,6 +170,7 @@ enum {
> >>  enum {
> >>       ND_ARS_VOLATILE = 1,
> >>       ND_ARS_PERSISTENT = 2,
> >> +     ND_ARS_RETURN_PREV_DATA = 1 << 1,
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > Here seems to come from other patch.
> > (This one?)
> > https://patchwork.kernel.org/patch/9776249/
> >
> > I suppose it should be included to other patch.
> >
> > Other thing looks good to me.
> 
> Since this is for ND_IOCTL_ARS_START and not ND_IOCTL_CALL it needs to
> stay. It's also appeared in a released kernel, so even if we wanted to
> remove it we would need to go through some deprecation period until we
> can be sure no userspace is dependent on it being provided by the
> kernel.

Ok, I see.

Thanks,
diff mbox

Patch

diff --git a/ndctl/ndctl.h b/ndctl/ndctl.h
index d70b97da3924..5e6905c76adc 100644
--- a/ndctl/ndctl.h
+++ b/ndctl/ndctl.h
@@ -145,43 +145,6 @@  struct nd_cmd_clear_error {
 	__u64 cleared;
 } __attribute__((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;
-	} __attribute__((packed)) devices[0];
-
-} __attribute__((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;
-} __attribute__((packed));
-
-struct nd_cmd_ars_err_inj_clr {
-	__u64 err_inj_clr_spa_range_base;
-	__u64 err_inj_clr_spa_range_length;
-	__u32 status;
-} __attribute__((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;
-	} __attribute__((packed)) record[0];
-} __attribute__((packed));
-
 enum {
 	ND_CMD_IMPLEMENTED = 0,
 
@@ -207,6 +170,7 @@  enum {
 enum {
 	ND_ARS_VOLATILE = 1,
 	ND_ARS_PERSISTENT = 2,
+	ND_ARS_RETURN_PREV_DATA = 1 << 1,
 	ND_CONFIG_LOCKED = 1,
 };