aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2019-08-07 17:01:13 +0000
committerJoseph Myers <joseph@codesourcery.com>2019-08-07 17:01:13 +0000
commita02cd8e4e091201cb395a805a9f3e2a9981cae37 (patch)
treeb49dae6170c7155922ae17f3163f8b3055b3cf15
parentd8b97803698dca2116de1d3e2eee35cc8cef6888 (diff)
downloadglibc-a02cd8e4e091201cb395a805a9f3e2a9981cae37.zip
glibc-a02cd8e4e091201cb395a805a9f3e2a9981cae37.tar.gz
glibc-a02cd8e4e091201cb395a805a9f3e2a9981cae37.tar.bz2
Add SYNC_FILE_RANGE_WRITE_AND_WAIT from Linux 5.2 to bits/fcntl-linux.h.
This patch adds the SYNC_FILE_RANGE_WRITE_AND_WAIT constant from Linux 5.2 (a new name for a combination of existing bits, not actually a new kernel interface) to bits/fcntl-linux.h. Tested for x86_64. * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU] (SYNC_FILE_RANGE_WRITE_AND_WAIT): New macro.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/unix/sysv/linux/bits/fcntl-linux.h5
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 53ccbf5..760698b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2019-08-07 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/bits/fcntl-linux.h [__USE_GNU]
+ (SYNC_FILE_RANGE_WRITE_AND_WAIT): New macro.
+
2019-08-06 Joseph Myers <joseph@codesourcery.com>
* io/fcntl.h [__USE_GNU] (AT_RECURSIVE): New macro.
diff --git a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
index 3f32eb3..ad9bf1b 100644
--- a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
+++ b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
@@ -334,6 +334,11 @@ struct f_owner_ex
# define SYNC_FILE_RANGE_WAIT_AFTER 4 /* Wait upon writeout of all pages in
the range after performing the
write. */
+/* SYNC_FILE_RANGE_WRITE_AND_WAIT ensures all pages in the range are
+ written to disk before returning. */
+# define SYNC_FILE_RANGE_WRITE_AND_WAIT (SYNC_FILE_RANGE_WRITE \
+ | SYNC_FILE_RANGE_WAIT_BEFORE \
+ | SYNC_FILE_RANGE_WAIT_AFTER)
/* Flags for SPLICE and VMSPLICE. */
# define SPLICE_F_MOVE 1 /* Move pages instead of copying. */