Update.
authorUlrich Drepper <drepper@redhat.com>
Fri, 22 Aug 2003 18:11:32 +0000 (18:11 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 22 Aug 2003 18:11:32 +0000 (18:11 +0000)
2003-08-22  Ulrich Drepper  <drepper@redhat.com>

* io/fcntl.h (posix_fallocate): Change type of third parameter to
off_t.
(posix_fallocate64): Change type of third parameter to off64_t.
* sysdeps/generic/posix_fallocate.c: Adjust for type change.
* sysdeps/posix/posix_fallocate.c: Likewise.
* sysdeps/generic/posix_fallocate64.c: Likewise.
* sysdeps/posix/posix_fallocate64.c: Likewise.  Add compatibility
code for 32-bit platforms.
* sysdeps/unix/sysv/linux/i386/Versions: Add new version for
posix_fallocate64.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise.

ChangeLog
io/fcntl.h
sysdeps/generic/posix_fallocate.c
sysdeps/generic/posix_fallocate64.c
sysdeps/posix/posix_fallocate.c
sysdeps/posix/posix_fallocate64.c
sysdeps/unix/sysv/linux/i386/Versions
sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions
sysdeps/unix/sysv/linux/s390/s390-32/Versions
sysdeps/unix/sysv/linux/sparc/sparc32/Versions

index eb19467..da934cc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2003-08-22  Ulrich Drepper  <drepper@redhat.com>
+
+       * io/fcntl.h (posix_fallocate): Change type of third parameter to
+       off_t.
+       (posix_fallocate64): Change type of third parameter to off64_t.
+       * sysdeps/generic/posix_fallocate.c: Adjust for type change.
+       * sysdeps/posix/posix_fallocate.c: Likewise.
+       * sysdeps/generic/posix_fallocate64.c: Likewise.
+       * sysdeps/posix/posix_fallocate64.c: Likewise.  Add compatibility
+       code for 32-bit platforms.
+       * sysdeps/unix/sysv/linux/i386/Versions: Add new version for
+       posix_fallocate64.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: Likewise.
+       * sysdeps/unix/sysv/linux/s390/s390-32/Versions: Likewise.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/Versions: Likewise.
+
 2003-08-19  Ulrich Drepper  <drepper@redhat.com>
 
        * string/bits/string2.h (__STRING2_COPY_TYPE): Add attribute to
index 97ef27b..d702368 100644 (file)
@@ -156,18 +156,18 @@ extern int posix_fadvise64 (int __fd, __off64_t __offset, __off64_t __len,
    This function is a possible cancellation points and therefore not
    marked with __THROW.  */
 # ifndef __USE_FILE_OFFSET64
-extern int posix_fallocate (int __fd, __off_t __offset, size_t __len);
+extern int posix_fallocate (int __fd, __off_t __offset, __off_t __len);
 # else
 # ifdef __REDIRECT
 extern int __REDIRECT (posix_fallocate, (int __fd, __off64_t __offset,
-                                        size_t __len),
+                                        __off64_t __len),
                       posix_fallocate64);
 # else
 #  define posix_fallocate posix_fallocate64
 # endif
 # endif
 # ifdef __USE_LARGEFILE64
-extern int posix_fallocate64 (int __fd, __off64_t __offset, size_t __len);
+extern int posix_fallocate64 (int __fd, __off64_t __offset, __off64_t __len);
 # endif
 #endif
 
index 2243a45..218b4ad 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,7 +22,7 @@
 /* Reserve storage for the data of the file associated with FD.  */
 
 int
-posix_fallocate (int fd, __off_t offset, size_t len)
+posix_fallocate (int fd, __off_t offset, __off_t len)
 {
   __set_errno (ENOSYS);
   return -1;
index 5074a90..80c1cd3 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,7 +22,7 @@
 /* Reserve storage for the data of the file associated with FD.  */
 
 int
-posix_fallocate64 (int fd, __off64_t offset, size_t len)
+posix_fallocate64 (int fd, __off64_t offset, __off64_t len)
 {
   __set_errno (ENOSYS);
   return -1;
index 955cf2e..838e7a0 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,7 +25,7 @@
 /* Reserve storage for the data of the file associated with FD.  */
 
 int
-posix_fallocate (int fd, __off_t offset, size_t len)
+posix_fallocate (int fd, __off_t offset, __off_t len)
 {
   struct stat64 st;
   struct statfs f;
@@ -33,7 +33,7 @@ posix_fallocate (int fd, __off_t offset, size_t len)
 
   /* `off_t´ is a signed type.  Therefore we can determine whether
      OFFSET + LEN is too large if it is a negative value.  */
-  if (offset < 0 || len == 0)
+  if (offset < 0 || len < 0)
     return EINVAL;
   if (offset + len < 0)
     return EFBIG;
index 7aa8672..e5fb18d 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,7 +25,7 @@
 /* Reserve storage for the data of the file associated with FD.  */
 
 int
-posix_fallocate64 (int fd, __off64_t offset, size_t len)
+__posix_fallocate64_l64 (int fd, __off64_t offset, __off64_t len)
 {
   struct stat64 st;
   struct statfs64 f;
@@ -33,7 +33,7 @@ posix_fallocate64 (int fd, __off64_t offset, size_t len)
 
   /* `off64_t´ is a signed type.  Therefore we can determine whether
      OFFSET + LEN is too large if it is a negative value.  */
-  if (offset < 0 || len == 0)
+  if (offset < 0 || len < 0)
     return EINVAL;
   if (offset + len < 0)
     return EFBIG;
@@ -69,3 +69,21 @@ posix_fallocate64 (int fd, __off64_t offset, size_t len)
 
   return 0;
 }
+
+#include <shlib-compat.h>
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32 && SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_3_3)
+
+int
+__posix_fallocate64_l32 (int fd, off64_t offset, size_t len)
+{
+  return __posix_fallocate64_l64 (fd, offset, len);
+}
+
+versioned_symbol (libc, __posix_fallocate64_l64, posix_fallocate64,
+                 GLIBC_2_3_3);
+compat_symbol (libc, __posix_fallocate64_l32, posix_fallocate64, GLIBC_2_2);
+#else
+strong_alias (__posix_fallocate64_l64, posix_fallocate64);
+#endif
index 1abb397..ef3c855 100644 (file)
@@ -34,7 +34,7 @@ libc {
     versionsort64;
   }
   GLIBC_2.3.3 {
-    posix_fadvise64;
+    posix_fadvise64; posix_fallocate64;
   }
   GLIBC_PRIVATE {
     __modify_ldt;
index 6d07958..92158ee 100644 (file)
@@ -21,6 +21,6 @@ libc {
     scandir64;
   }
   GLIBC_2.3.3 {
-    posix_fadvise64;
+    posix_fadvise64; posix_fallocate64;
   }
 }
index da461a5..8d6a660 100644 (file)
@@ -24,7 +24,6 @@ libc {
     versionsort64;
   }
   GLIBC_2.3.3 {
-    posix_fadvise64;
+    posix_fadvise64; posix_fallocate64;
   }
 }
-
index e690372..c585af3 100644 (file)
@@ -18,6 +18,6 @@ libc {
     scandir64;
   }
   GLIBC_2.3.3 {
-    posix_fadvise64;
+    posix_fadvise64; posix_fallocate64;
   }
 }