On Thu, Sep 07, 2017 at 09:06:18PM +0000, Joseph Myers wrote: > This patch, relative to a tree with > (pending > review) applied (but with only trivial dependence on that patch by > virtue of changing adjacent code), 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. > > 2017-09-07 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. > > diff --git a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h > index fc65fc2..0c1a303 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 > + I bet these RWF/RWH names are going to be a source of confusion. Said that, if they are not going to be renamed in linux headers in the nearest future, then the patch is OK. -- ldv