> >>> 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. > > > > 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. > > That does not match what I see. I see that code in ufs-utils accesses > the 'length' and 'value' members of the above data structure. > > Please follow the rules for UAPI header files. > > Thanks, > > Bart. You are right , my fault. Anyway, It just return reserved field to the struct. Also I can update the tool accordingly. Instead length and value fields, using osf5 and osf6. In this case we will keep it backward compatible. Is it OK? Regards Arthur > -----Original Message----- > From: Bart Van Assche <bvanassche@xxxxxxx> > Sent: Monday, February 27, 2023 7:00 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/27/23 08:03, Arthur Simchaev wrote: > >>> > >>> */ > >>> 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. > > > > 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. > > That does not match what I see. I see that code in ufs-utils accesses > the 'length' and 'value' members of the above data structure. > > Please follow the rules for UAPI header files. > > Thanks, > > Bart.