Add new STATX_* constants from Linux 5.8 to bits/statx-generic.h

Message ID alpine.DEB.2.21.2008122320100.612@digraph.polyomino.org.uk
State New
Headers show
Series
  • Add new STATX_* constants from Linux 5.8 to bits/statx-generic.h
Related show

Commit Message

Joseph Myers Aug. 12, 2020, 11:20 p.m.
This patch adds the new STATX_MNT_ID, STATX_ATTR_MOUNT_ROOT and
STATX_ATTR_DAX macros from Linux 5.8 to glibc's bits/statx-generic.h.
(As with previous such changes, this only does anything if glibc is
being used with old kernel headers.)

A comment in the Linux kernel headers indicates that STATX_ALL is
deliberately not being changed.

Tested for x86_64.


-- 
Joseph S. Myers
joseph@codesourcery.com

Comments

Joseph Myers Aug. 18, 2020, 11:09 p.m. | #1
Ping.  This patch 
<https://sourceware.org/pipermail/libc-alpha/2020-August/117010.html> is 
pending review.

-- 
Joseph S. Myers
joseph@codesourcery.com
Andreas Schwab Aug. 19, 2020, 7:16 a.m. | #2
On Aug 12 2020, Joseph Myers wrote:

> This patch adds the new STATX_MNT_ID, STATX_ATTR_MOUNT_ROOT and

> STATX_ATTR_DAX macros from Linux 5.8 to glibc's bits/statx-generic.h.

> (As with previous such changes, this only does anything if glibc is

> being used with old kernel headers.)

>

> A comment in the Linux kernel headers indicates that STATX_ALL is

> deliberately not being changed.


Ok.

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."
Andreas Schwab Aug. 20, 2020, 7:24 a.m. | #3
Do we also need to update struct statx?

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."
Florian Weimer Aug. 20, 2020, 7:59 a.m. | #4
* Andreas Schwab:

> Do we also need to update struct statx?


The intent was not to update it.  The definitions are only active if
the installed kernel headers are too old.  We probably should not
change the version conditional because that would make the member
types more unpredictable (the __u64 vs uint64_t issue).

Patch

diff --git a/io/bits/statx-generic.h b/io/bits/statx-generic.h
index 7a09e94be2..c34697e3c1 100644
--- a/io/bits/statx-generic.h
+++ b/io/bits/statx-generic.h
@@ -40,6 +40,7 @@ 
 # define STATX_BASIC_STATS 0x07ffU
 # define STATX_ALL 0x0fffU
 # define STATX_BTIME 0x0800U
+# define STATX_MNT_ID 0x1000U
 # define STATX__RESERVED 0x80000000U
 
 # define STATX_ATTR_COMPRESSED 0x0004
@@ -48,7 +49,9 @@ 
 # define STATX_ATTR_NODUMP 0x0040
 # define STATX_ATTR_ENCRYPTED 0x0800
 # define STATX_ATTR_AUTOMOUNT 0x1000
+# define STATX_ATTR_MOUNT_ROOT 0x2000
 # define STATX_ATTR_VERITY 0x100000
+# define STATX_ATTR_DAX 0x2000
 #endif /* !STATX_TYPE */
 
 __BEGIN_DECLS