Hi Bart, >> >> */ >> struct utp_upiu_query { >> __u8 opcode; >> __u8 idn; >> __u8 index; >> __u8 selector; >>- __be16 reserved_osf; >>- __be16 length; >>- __be32 value; >>- __be32 reserved[2]; >>+ __u8 osf3; >>+ __u8 osf4; >>+ __be16 osf5; >>+ __be32 osf6; >>+ __be32 osf7; >> }; >All changes in UAPI headers must be backwards compatible. The above doesn't look like a backwards compatible change to me. > >Bart. This API was originally invented to support ufs-bsg. AFAIK, ufs-utils is the only app that makes use of this API, and it doesn't dig into struct utp_upiu_query inner fields. Thanks, Arthur Regards Arthur > -----Original Message----- > From: Bart Van Assche <bvanassche@xxxxxxx> > Sent: Wednesday, February 22, 2023 5:26 PM > To: Arthur Simchaev <Arthur.Simchaev@xxxxxxx>; > martin.petersen@xxxxxxxxxx > Cc: beanhuo@xxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx > Subject: Re: [PATCH 1/2] include: uapi: scsi: Change utp_upiu_query struct > > CAUTION: This email originated from outside of Western Digital. Do not click > on links or open attachments unless you recognize the sender and know that > the content is safe. > > > On 2/22/23 07:12, Arthur Simchaev wrote: > > diff --git a/include/uapi/scsi/scsi_bsg_ufs.h > b/include/uapi/scsi/scsi_bsg_ufs.h > > index 2801b65..cccc07d 100644 > > --- a/include/uapi/scsi/scsi_bsg_ufs.h > > +++ b/include/uapi/scsi/scsi_bsg_ufs.h > > @@ -54,20 +54,21 @@ struct utp_upiu_header { > > * @idn: a value that indicates the particular type of data B-1 > > * @index: Index to further identify data B-2 > > * @selector: Index to further identify data B-3 > > - * @reserved_osf: spec reserved field B-4,5 > > - * @length: number of descriptor bytes to read/write B-6,7 > > - * @value: Attribute value to be written DW-5 > > - * @reserved: spec reserved DW-6,7 > > + * @osf4: spec field B-5 > > + * @osf5: spec field B 6,7 > > + * @osf6: spec field DW 8,9 > > + * @osf7: spec field DW 10,11 > > */ > > struct utp_upiu_query { > > __u8 opcode; > > __u8 idn; > > __u8 index; > > __u8 selector; > > - __be16 reserved_osf; > > - __be16 length; > > - __be32 value; > > - __be32 reserved[2]; > > + __u8 osf3; > > + __u8 osf4; > > + __be16 osf5; > > + __be32 osf6; > > + __be32 osf7; > > }; > > All changes in UAPI headers must be backwards compatible. The above > doesn't look like a backwards compatible change to me. > > Bart.