Re: UAPI value collision: STATX_ATTR_MOUNT_ROOT vs STATX_ATTR_DAX

From: Andreas Dilger
Date: Wed Nov 25 2020 - 22:05:54 EST


On Nov 25, 2020, at 12:26 PM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
>
> On Wed, Nov 25, 2020 at 5:57 PM David Howells <dhowells@xxxxxxxxxx> wrote:
>>
>> Hi Linus, Miklos, Ira,
>>
>> It seems that two patches that got merged in the 5.8 merge window collided and
>> no one noticed until now:
>>
>> 80340fe3605c0 (Miklos Szeredi 2020-05-14 184) #define STATX_ATTR_MOUNT_ROOT 0x00002000 /* Root of a mount */
>> ...
>> 712b2698e4c02 (Ira Weiny 2020-04-30 186) #define STATX_ATTR_DAX 0x00002000 /* [I] File is DAX */
>>
>> The question is, what do we do about it? Renumber one or both of the
>> constants?
>
> <uapi/linux/stat.h>:
> * Note that the flags marked [I] correspond to generic FS_IOC_FLAGS
> * semantically. Where possible, the numerical value is picked to correspond
> * also.
>
> <uapi/linux/fs.h>:
> #define FS_DAX_FL 0x02000000 /* Inode is DAX */
>
> The DAX one can be the same value as FS_DAX_FL, the placement (after
> STATX_ATTR_VERITY, instead of before) seems to confirm this intention.

Yes, this looks like a bug in the STATX_ATTR_DAX value. It should be the same
as FS_DAX_FL, like all of the other STATX_ATTR_* [I] values are.

Cheers, Andreas





Attachment: signature.asc
Description: Message signed with OpenPGP