Fix preadv, pwritev and fallocate for -D_FILE_OFFSET_BITS=64.
authorJakub Jelinek <jakub@redhat.com>
Fri, 6 Nov 2009 17:26:31 +0000 (09:26 -0800)
committerUlrich Drepper <drepper@redhat.com>
Fri, 6 Nov 2009 17:26:31 +0000 (09:26 -0800)
As reported in http://bugzilla.redhat.com/533063 , preadv/pwritev prototypes
are wrong on 32-bit arches with -D_FILE_OFFSET_BITS=64 and as I've just
found, fallocate is wrong too.
The problem is that only off_t is remapped to the 64-bit type transparently,
__off_t is not.

ChangeLog
misc/sys/uio.h
sysdeps/unix/sysv/linux/i386/bits/fcntl.h
sysdeps/unix/sysv/linux/ia64/bits/fcntl.h
sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
sysdeps/unix/sysv/linux/s390/bits/fcntl.h
sysdeps/unix/sysv/linux/sh/bits/fcntl.h
sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h

index e6efe93..5c4b5d4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2009-11-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * misc/sys/uio.h (preadv, pwritev): Fix type of last argument
+       when -D_FILE_OFFSET_BITS=64.
+
+       * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h (fallocate): Fix types
+       of last two arguments when -D_FILE_OFFSET_BITS=64.
+       * sysdeps/unix/sysv/linux/i386/bits/fcntl.h (fallocate): Likewise.
+       * sysdeps/unix/sysv/linux/s390/bits/fcntl.h (fallocate): Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (fallocate): Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h (fallocate): Likewise.
+       * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (fallocate): Likewise.
+       * sysdeps/unix/sysv/linux/sh/bits/fcntl.h (fallocate): Likewise.
+
 2009-11-03  Andreas Schwab  <schwab@linux-m68k.org>
 
        [BZ #4457]
index 05d956b..a32b7ed 100644 (file)
@@ -80,10 +80,10 @@ extern ssize_t pwritev (int __fd, __const struct iovec *__iovec, int __count,
 # else
 #  ifdef __REDIRECT
 extern ssize_t __REDIRECT (preadv, (int __fd, __const struct iovec *__iovec,
-                                   int __count, __off_t __offset),
+                                   int __count, __off64_t __offset),
                           preadv64) __wur;
 extern ssize_t __REDIRECT (pwritev, (int __fd, __const struct iovec *__iovec,
-                                    int __count, __off_t __offset),
+                                    int __count, __off64_t __offset),
                           pwritev64) __wur;
 #  else
 #   define preadv preadv64
index 06b9e48..6a38dc0 100644 (file)
@@ -259,8 +259,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len,
 extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
 # else
 #  ifdef __REDIRECT
-extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset,
-                                  __off_t __len),
+extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
+                                  __off64_t __len),
                       fallocate64);
 #  else
 #   define fallocate fallocate64
index 9677394..9a0245a 100644 (file)
@@ -253,8 +253,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len,
 extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
 # else
 #  ifdef __REDIRECT
-extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset,
-                                  __off_t __len),
+extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
+                                  __off64_t __len),
                       fallocate64);
 #  else
 #   define fallocate fallocate64
index ea0ee6e..6c4b66b 100644 (file)
@@ -259,8 +259,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len,
 extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
 # else
 #  ifdef __REDIRECT
-extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset,
-                                  __off_t __len),
+extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
+                                  __off64_t __len),
                       fallocate64);
 #  else
 #   define fallocate fallocate64
index 3a11c48..d3dddbc 100644 (file)
@@ -279,8 +279,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len,
 extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
 # else
 #  ifdef __REDIRECT
-extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset,
-                                  __off_t __len),
+extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
+                                  __off64_t __len),
                       fallocate64);
 #  else
 #   define fallocate fallocate64
index 03ecd72..d7a21ea 100644 (file)
@@ -259,8 +259,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len,
 extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
 # else
 #  ifdef __REDIRECT
-extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset,
-                                  __off_t __len),
+extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
+                                  __off64_t __len),
                       fallocate64);
 #  else
 #   define fallocate fallocate64
index 2b8c9bd..dfa848a 100644 (file)
@@ -278,8 +278,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len,
 extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
 # else
 #  ifdef __REDIRECT
-extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset,
-                                  __off_t __len),
+extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
+                                  __off64_t __len),
                       fallocate64);
 #  else
 #   define fallocate fallocate64
index 29c956c..c3eb859 100644 (file)
@@ -273,8 +273,8 @@ extern ssize_t tee (int __fdin, int __fdout, size_t __len,
 extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
 # else
 #  ifdef __REDIRECT
-extern int __REDIRECT (fallocate, (int __fd, int __mode, __off_t __offset,
-                                  __off_t __len),
+extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
+                                  __off64_t __len),
                       fallocate64);
 #  else
 #   define fallocate fallocate64