From: Daniel Jacobowitz Date: Fri, 5 May 2006 14:03:22 +0000 (+0000) Subject: 2006-05-05 Lior Balkohen X-Git-Tag: glibc-2.16-ports-before-merge~872 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=142b51e416cfc53274386371898e6780f96d7bd4;p=thirdparty%2Fglibc.git 2006-05-05 Lior Balkohen * sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Remove LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT. Define SYNC_FILE_RANGE_WAIT_BEFORE, SYNC_FILE_RANGE_WRITE and SYNC_FILE_RANGE_WAIT_AFTER. Declare sync_file_range, vmsplice, splice and tee. 2006-05-05 Lior Balkohen * sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Remove LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT. Define SYNC_FILE_RANGE_WAIT_BEFORE, SYNC_FILE_RANGE_WRITE and SYNC_FILE_RANGE_WAIT_AFTER. Declare sync_file_range, vmsplice, splice and tee. --- diff --git a/ChangeLog.arm b/ChangeLog.arm index 5907503cc6c..aaf45738e3c 100644 --- a/ChangeLog.arm +++ b/ChangeLog.arm @@ -1,3 +1,11 @@ +2006-05-05 Lior Balkohen + + * sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Remove + LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT. + Define SYNC_FILE_RANGE_WAIT_BEFORE, SYNC_FILE_RANGE_WRITE + and SYNC_FILE_RANGE_WAIT_AFTER. + Declare sync_file_range, vmsplice, splice and tee. + 2006-03-27 Lior Balkohen * sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Define diff --git a/ChangeLog.mips b/ChangeLog.mips index 19f4b4108e6..201252a0103 100644 --- a/ChangeLog.mips +++ b/ChangeLog.mips @@ -1,3 +1,11 @@ +2006-05-05 Lior Balkohen + + * sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Remove + LINUX_FADV_ASYNC_WRITE and LINUX_FADV_WRITE_WAIT. + Define SYNC_FILE_RANGE_WAIT_BEFORE, SYNC_FILE_RANGE_WRITE + and SYNC_FILE_RANGE_WAIT_AFTER. + Declare sync_file_range, vmsplice, splice and tee. + 2006-03-27 Lior Balkohen * sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Define diff --git a/sysdeps/unix/sysv/linux/arm/bits/fcntl.h b/sysdeps/unix/sysv/linux/arm/bits/fcntl.h index 5368515250f..54510a3fcc1 100644 --- a/sysdeps/unix/sysv/linux/arm/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/arm/bits/fcntl.h @@ -23,6 +23,9 @@ #include +#ifdef __USE_GNU +# include +#endif /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -180,16 +183,45 @@ 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 address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + +/* Splice two files together. */ +extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) + __THROW; + +/* In-kernel implementation of tee for pipe buffers. */ +extern int tee (int __fdin, int __fdout, size_t __len, unsigned int __flags) + __THROW; + +#endif + __END_DECLS diff --git a/sysdeps/unix/sysv/linux/mips/bits/fcntl.h b/sysdeps/unix/sysv/linux/mips/bits/fcntl.h index 87affe3f3d1..e7aae605108 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/mips/bits/fcntl.h @@ -24,6 +24,10 @@ #include #include +#ifdef __USE_GNU +# include +#endif + /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -193,16 +197,45 @@ 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 address range into a pipe. */ +extern int vmsplice (int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags); + +/* Splice two files together. */ +extern int splice (int __fdin, int __fdout, size_t __len, unsigned int __flags) + __THROW; + +/* In-kernel implementation of tee for pipe buffers. */ +extern int tee (int __fdin, int __fdout, size_t __len, unsigned int __flags) + __THROW; + +#endif + __END_DECLS