From af1b7c8ca2fa46fc52c6801869f7f54579be8a23 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 8 Sep 2017 16:20:23 +0000 Subject: [PATCH] Add Linux 4.13 constants to bits/fcntl-linux.h. This patch adds new interfaces (F_GET_RW_HINT etc., and associated RW[FH]_WRITE_LIFE_*) from Linux 4.13 to bits/fcntl-linux.h (conditional on __USE_GNU). Tested for x86_64. * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU] (F_GET_RW_HINT): New macro. [__USE_GNU] (F_SET_RW_HINT): Likewise. [__USE_GNU] (F_GET_FILE_RW_HINT): Likewise. [__USE_GNU] (F_SET_FILE_RW_HINT): Likewise. [__USE_GNU] (RWF_WRITE_LIFE_NOT_SET): Likewise. [__USE_GNU] (RWH_WRITE_LIFE_NONE): Likewise. [__USE_GNU] (RWH_WRITE_LIFE_SHORT): Likewise. [__USE_GNU] (RWH_WRITE_LIFE_MEDIUM): Likewise. [__USE_GNU] (RWH_WRITE_LIFE_LONG): Likewise. [__USE_GNU] (RWH_WRITE_LIFE_EXTREME): Likewise. --- ChangeLog | 12 ++++++++++++ sysdeps/unix/sysv/linux/bits/fcntl-linux.h | 15 +++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/ChangeLog b/ChangeLog index dca63feedc..9f085b7e6a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 2017-09-08 Joseph Myers + * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU] + (F_GET_RW_HINT): New macro. + [__USE_GNU] (F_SET_RW_HINT): Likewise. + [__USE_GNU] (F_GET_FILE_RW_HINT): Likewise. + [__USE_GNU] (F_SET_FILE_RW_HINT): Likewise. + [__USE_GNU] (RWF_WRITE_LIFE_NOT_SET): Likewise. + [__USE_GNU] (RWH_WRITE_LIFE_NONE): Likewise. + [__USE_GNU] (RWH_WRITE_LIFE_SHORT): Likewise. + [__USE_GNU] (RWH_WRITE_LIFE_MEDIUM): Likewise. + [__USE_GNU] (RWH_WRITE_LIFE_LONG): Likewise. + [__USE_GNU] (RWH_WRITE_LIFE_EXTREME): Likewise. + * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU] (F_ADD_SEALS): New macro. [__USE_GNU] (F_GET_SEALS): Likewise. diff --git a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h index fc65fc2e4a..0c1a303039 100644 --- a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h +++ b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h @@ -204,6 +204,11 @@ # define F_GETPIPE_SZ 1032 /* Set pipe page size array. */ # define F_ADD_SEALS 1033 /* Add seals to file. */ # define F_GET_SEALS 1034 /* Get seals for file. */ +/* Set / get write life time hints. */ +# define F_GET_RW_HINT 1035 +# define F_SET_RW_HINT 1036 +# define F_GET_FILE_RW_HINT 1037 +# define F_SET_FILE_RW_HINT 1038 #endif #ifdef __USE_XOPEN2K8 # define F_DUPFD_CLOEXEC 1030 /* Duplicate file descriptor with @@ -281,6 +286,16 @@ struct f_owner_ex # define F_SEAL_WRITE 0x0008 /* Prevent writes. */ #endif +#ifdef __USE_GNU +/* Hint values for F_{GET,SET}_RW_HINT. */ +# define RWF_WRITE_LIFE_NOT_SET 0 +# define RWH_WRITE_LIFE_NONE 1 +# define RWH_WRITE_LIFE_SHORT 2 +# define RWH_WRITE_LIFE_MEDIUM 3 +# define RWH_WRITE_LIFE_LONG 4 +# define RWH_WRITE_LIFE_EXTREME 5 +#endif + /* Define some more compatibility macros to be backward compatible with BSD systems which did not managed to hide these kernel macros. */ #ifdef __USE_MISC