Patchwork Add SYNC_FILE_RANGE_WRITE_AND_WAIT from Linux 5.2 to bits/fcntl-linux.h

login
register
mail settings
Submitter Joseph Myers
Date Aug. 7, 2019, 4:47 p.m.
Message ID <alpine.DEB.2.21.1908071646510.11487@digraph.polyomino.org.uk>
Download mbox | patch
Permalink /patch/33998/
State New
Headers show

Comments

Joseph Myers - Aug. 7, 2019, 4:47 p.m.
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.

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.
Florian Weimer - Aug. 7, 2019, 4:52 p.m.
* Joseph Myers:

> +/* 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)

This matches the kernel definition.  Please commit.

Thanks,
Florian

Patch

diff --git a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
index 3f32eb328b..ad9bf1b24b 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.  */