From 1329b60176b59b185ad71fc87a86dd0cf9cff21b Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 31 Mar 2006 21:50:22 +0000 Subject: * sysdeps/unix/sysv/linux/Versions: Export sync_file_range with GLIBC_2.5. * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Remove LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT. Declare sync_file_range and splice. * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise. * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Add sync_file_range. * sysdeps/unix/sysv/linux/i386/sync_file_range.S: New file. --- sysdeps/unix/sysv/linux/sh/bits/fcntl.h | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'sysdeps/unix/sysv/linux/sh/bits/fcntl.h') diff --git a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h index 8c9159f0fd..6311f1fbad 100644 --- a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h @@ -180,16 +180,37 @@ struct flock64 # define POSIX_FADV_NOREUSE 5 /* Data will be accessed once. */ #endif -/* Linux-specific operations for posix_fadvise. */ + #ifdef __USE_GNU -# define LINUX_FADV_ASYNC_WRITE 32 /* Start writeout on range. */ -# define LINUX_FADV_WRITE_WAIT 33 /* Wait upon writeout to range. */ +# define SYNC_FILE_RANGE_WAIT_BEFORE 1 /* Wait upon writeout of all pages + in the range before performing the + write. */ +# define SYNC_FILE_RANGE_WRITE 2 /* Initiate writeout of all those + dirty pages in the range which are + not presently under writeback. */ +# define SYNC_FILE_RANGE_WAIT_AFTER 4 /* Wait upon writeout of all pages in + the range after performing the + write. */ #endif __BEGIN_DECLS +#ifdef __USE_GNU + /* Provide kernel hint to read ahead. */ extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count) __THROW; + +/* Selective file content synch'ing. */ +extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to, + unsigned int __flags); + + +/* Splice two files together. */ +extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) + __THROW; + +#endif + __END_DECLS -- cgit v1.2.3