lkml.org 
[lkml]   [2020]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH V2] uapi: fix statx attribute value overlap for DAX & MOUNT_ROOT
    Date
    [*] Note: This needs to be merged as soon as possible as it's introducing an incompatible UAPI change...

    STATX_ATTR_MOUNT_ROOT and STATX_ATTR_DAX got merged with the same value,
    so one of them needs fixing. Move STATX_ATTR_DAX.

    While we're in here, clarify the value-matching scheme for some of the
    attributes, and explain why the value for DAX does not match.

    Fixes: 80340fe3605c ("statx: add mount_root")
    Fixes: 712b2698e4c0 ("fs/stat: Define DAX statx attribute")
    Reported-by: David Howells <dhowells@redhat.com>
    Signed-off-by: Eric Sandeen <sandeen@redhat.com>
    Reviewed-by: David Howells <dhowells@redhat.com>
    ---
    V2: Change flag value per Darrick Wong
    Tweak comment per Darrick Wong
    Add Fixes: tags & reported-by & RVB per dhowells

    include/uapi/linux/stat.h | 9 ++++++---
    1 file changed, 6 insertions(+), 3 deletions(-)

    diff --git a/include/uapi/linux/stat.h b/include/uapi/linux/stat.h
    index 82cc58fe9368..1500a0f58041 100644
    --- a/include/uapi/linux/stat.h
    +++ b/include/uapi/linux/stat.h
    @@ -171,9 +171,12 @@ struct statx {
    * be of use to ordinary userspace programs such as GUIs or ls rather than
    * specialised tools.
    *
    - * Note that the flags marked [I] correspond to generic FS_IOC_FLAGS
    + * Note that the flags marked [I] correspond to the FS_IOC_SETFLAGS flags
    * semantically. Where possible, the numerical value is picked to correspond
    - * also.
    + * also. Note that the DAX attribute indicates that the file is in the CPU
    + * direct access state. It does not correspond to the per-inode flag that
    + * some filesystems support.
    + *
    */
    #define STATX_ATTR_COMPRESSED 0x00000004 /* [I] File is compressed by the fs */
    #define STATX_ATTR_IMMUTABLE 0x00000010 /* [I] File is marked immutable */
    @@ -183,7 +186,7 @@ struct statx {
    #define STATX_ATTR_AUTOMOUNT 0x00001000 /* Dir: Automount trigger */
    #define STATX_ATTR_MOUNT_ROOT 0x00002000 /* Root of a mount */
    #define STATX_ATTR_VERITY 0x00100000 /* [I] Verity protected file */
    -#define STATX_ATTR_DAX 0x00002000 /* [I] File is DAX */
    +#define STATX_ATTR_DAX 0x00200000 /* File is currently in DAX state */


    #endif /* _UAPI_LINUX_STAT_H */
    --
    2.17.0
    \
     
     \ /
      Last update: 2020-12-02 00:25    [W:3.229 / U:0.476 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site