Messages in this thread | | | Date | Wed, 1 Mar 2023 10:44:06 -0800 | Subject | Re: [PATCH 1/2] include: uapi: scsi: Change utp_upiu_query struct | From | Bart Van Assche <> |
| |
On 3/1/23 01:46, 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. > > 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?
Hi Arthur,
I doubt that renaming structure members is acceptable for UAPI headers. How about introducing a second struct next to the utp_upiu_query struct?
Thanks,
Bart.
| |