Fix fallocate error return on i386.
authorAndreas Schwab <schwab@redhat.com>
Thu, 8 Apr 2010 22:44:55 +0000 (15:44 -0700)
committerUlrich Drepper <drepper@redhat.com>
Thu, 8 Apr 2010 22:44:55 +0000 (15:44 -0700)
ChangeLog
sysdeps/unix/sysv/linux/i386/fallocate.c
sysdeps/unix/sysv/linux/i386/fallocate64.c

index d3f1ac8..03ba71f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-04-07  Andreas Schwab  <schwab@redhat.com>
+
+       * sysdeps/unix/sysv/linux/i386/fallocate.c: Set errno on error.
+       * sysdeps/unix/sysv/linux/i386/fallocate64.c: Likewise.
+
 2010-04-08  Andreas Jaeger  <aj@suse.de>
 
        [BZ #10401]
index 14e7883..1434a83 100644 (file)
@@ -30,7 +30,13 @@ int
 fallocate (int fd, int mode, __off_t offset, __off_t len)
 {
 #ifdef __NR_fallocate
-  return __call_fallocate (fd, mode, offset, len);
+  int err = __call_fallocate (fd, mode, offset, len);
+  if (__builtin_expect (err, 0))
+    {
+      __set_errno (err);
+      err = -1;
+    }
+  return err;
 #else
   __set_errno (ENOSYS);
   return -1;
index 85f315c..063bab0 100644 (file)
@@ -30,7 +30,13 @@ int
 fallocate64 (int fd, int mode, __off64_t offset, __off64_t len)
 {
 #ifdef __NR_fallocate
-  return __call_fallocate (fd, mode, offset, len);
+  int err = __call_fallocate (fd, mode, offset, len);
+  if (__builtin_expect (err, 0))
+    {
+      __set_errno (err);
+      err = -1;
+    }
+  return err;
 #else
   __set_errno (ENOSYS);
   return -1;