rpms/glibc/devel glibc-fallocate.patch,1.1,1.2

Jakub Jelinek (jakub) fedora-extras-commits at redhat.com
Wed Aug 1 09:49:17 UTC 2007


Author: jakub

Update of /cvs/pkgs/rpms/glibc/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv23229

Modified Files:
	glibc-fallocate.patch 
Log Message:
2.6.90-1

glibc-fallocate.patch:

Index: glibc-fallocate.patch
===================================================================
RCS file: /cvs/pkgs/rpms/glibc/devel/glibc-fallocate.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- glibc-fallocate.patch	31 Jul 2007 19:42:13 -0000	1.1
+++ glibc-fallocate.patch	1 Aug 2007 09:49:14 -0000	1.2
@@ -1,3 +1,10 @@
+2007-08-01  Jakub Jelinek  <jakub at redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/syscalls.list (fallocate): Add fallocate
+	syscall as __fallocate64.
+	* sysdeps/unix/sysv/linux/i386/posix_fallocate.c: New file.
+	* sysdeps/unix/sysv/linux/i386/posix_fallocate64.c: New file.
+
 2007-07-31  Jakub Jelinek  <jakub at redhat.com>
 
 	* sysdeps/unix/sysv/linux/posix_fallocate.c (posix_fallocate): Fix
@@ -14,3 +21,135 @@
  				  __LONG_LONG_PAIR (offset >> 31, offset),
  				  __LONG_LONG_PAIR (len >> 31, len));
  
+--- libc/sysdeps/unix/sysv/linux/i386/syscalls.list.jj	2005-12-20 08:52:13.000000000 +0100
++++ libc/sysdeps/unix/sysv/linux/i386/syscalls.list	2007-08-01 11:33:03.000000000 +0200
+@@ -6,3 +6,4 @@ vm86		-	vm86		i:ip	__vm86		vm86@@GLIBC_2
+ oldgetrlimit	EXTRA	getrlimit	i:ip	__old_getrlimit	getrlimit at GLIBC_2.0
+ oldsetrlimit	EXTRA	setrlimit	i:ip	__old_setrlimit	setrlimit at GLIBC_2.0
+ waitpid		-	waitpid		Ci:ipi	__waitpid	waitpid	__libc_waitpid
++fallocate64	EXTRA	fallocate	Vi:iiiiii	__fallocate64
+--- libc/sysdeps/unix/sysv/linux/i386/posix_fallocate.c.jj	2007-08-01 11:14:15.000000000 +0200
++++ libc/sysdeps/unix/sysv/linux/i386/posix_fallocate.c	2007-08-01 11:34:04.000000000 +0200
+@@ -0,0 +1,58 @@
++/* Copyright (C) 2007 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
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <fcntl.h>
++#include <kernel-features.h>
++#include <sysdep.h>
++
++#define posix_fallocate static internal_fallocate
++#include <sysdeps/posix/posix_fallocate.c>
++#undef posix_fallocate
++
++#if !defined __ASSUME_FALLOCATE && defined __NR_fallocate
++int __have_fallocate attribute_hidden;
++#endif
++
++extern int __fallocate64 (int fd, int mode, __off64_t offset, __off64_t len)
++     attribute_hidden;
++
++/* Reserve storage for the data of the file associated with FD.  */
++int
++posix_fallocate (int fd, __off_t offset, __off_t len)
++{
++#ifdef __NR_fallocate
++# ifndef __ASSUME_FALLOCATE
++  if (__builtin_expect (__have_fallocate >= 0, 1))
++# endif
++    {
++      int res = __fallocate64 (fd, 0, offset, len);
++      if (! res)
++	return 0;
++
++# ifndef __ASSUME_FALLOCATE
++      if (__builtin_expect (res == ENOSYS, 0))
++	__have_fallocate = -1;
++      else
++# endif
++	if (res != EOPNOTSUPP)
++	  return res;
++    }
++#endif
++
++  return internal_fallocate (fd, offset, len);
++}
+--- libc/sysdeps/unix/sysv/linux/i386/posix_fallocate64.c.jj	2007-08-01 11:14:18.000000000 +0200
++++ libc/sysdeps/unix/sysv/linux/i386/posix_fallocate64.c	2007-08-01 11:34:22.000000000 +0200
+@@ -0,0 +1,61 @@
++/* Copyright (C) 2007 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
++   modify it under the terms of the GNU Lesser General Public
++   License as published by the Free Software Foundation; either
++   version 2.1 of the License, or (at your option) any later version.
++
++   The GNU C Library is distributed in the hope that it will be useful,
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++   Lesser General Public License for more details.
++
++   You should have received a copy of the GNU Lesser General Public
++   License along with the GNU C Library; if not, write to the Free
++   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
++   02111-1307 USA.  */
++
++#include <fcntl.h>
++#include <kernel-features.h>
++#include <sysdep.h>
++
++extern int __posix_fallocate64_l64 (int fd, __off64_t offset, __off64_t len);
++#define __posix_fallocate64_l64 static internal_fallocate64
++#include <sysdeps/posix/posix_fallocate64.c>
++#undef __posix_fallocate64_l64
++
++#if !defined __ASSUME_FALLOCATE && defined __NR_fallocate
++/* Defined in posix_fallocate.c.  */
++extern int __have_fallocate attribute_hidden;
++#endif
++
++extern int __fallocate64 (int fd, int mode, __off64_t offset, __off64_t len)
++     attribute_hidden;
++
++/* Reserve storage for the data of the file associated with FD.  */
++int
++__posix_fallocate64_l64 (int fd, __off64_t offset, __off64_t len)
++{
++#ifdef __NR_fallocate
++# ifndef __ASSUME_FALLOCATE
++  if (__builtin_expect (__have_fallocate >= 0, 1))
++# endif
++    {
++      int res = __fallocate64 (fd, 0, offset, len);
++
++      if (! res)
++	return 0;
++
++# ifndef __ASSUME_FALLOCATE
++      if (__builtin_expect (res == ENOSYS, 0))
++	__have_fallocate = -1;
++      else
++# endif
++	if (res != EOPNOTSUPP)
++	  return res;
++    }
++#endif
++
++  return internal_fallocate64 (fd, offset, len);
++}




More information about the fedora-extras-commits mailing list