[pve-devel] [PATCH 01/13] libc: added syncfs support / patch

Stefan Priebe s.priebe at profihost.ag
Tue Nov 6 09:17:30 CET 2012


Signed-off-by: Stefan Priebe <s.priebe at profihost.ag>
---
 .../eglibc-2.11.3/debian/control                   |    2 +-
 .../eglibc-2.11.3/debian/patches/series            |    2 +
 .../debian/patches/synfs_support.patch             |  129 ++++++++++++++++++++
 3 files changed, 132 insertions(+), 1 deletions(-)
 create mode 100644 pve-squeeze.sources/chroot_needed_to_build/eglibc-2.11.3/debian/patches/synfs_support.patch

diff --git a/pve-squeeze.sources/chroot_needed_to_build/eglibc-2.11.3/debian/control b/pve-squeeze.sources/chroot_needed_to_build/eglibc-2.11.3/debian/control
index 25e0cb8..1bca198 100644
--- a/pve-squeeze.sources/chroot_needed_to_build/eglibc-2.11.3/debian/control
+++ b/pve-squeeze.sources/chroot_needed_to_build/eglibc-2.11.3/debian/control
@@ -3,7 +3,7 @@ Section: libs
 Priority: required
 Build-Depends: gettext, make (>= 3.80), dpkg-dev (>= 1.15.3.1), bzip2, lzma, xz-utils, file, quilt,
  autoconf, sed (>= 4.0.5-4), gawk, debhelper (>= 5.0), tar (>= 1.22),
- linux-libc-dev [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64],
+ linux-libc-dev (>= 2.6.39) [!hurd-i386 !kfreebsd-i386 !kfreebsd-amd64],
  mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 20080607-3) [hurd-i386], gnumach-dev [hurd-i386], libpthread-stubs0-dev [hurd-i386],
  kfreebsd-kernel-headers [kfreebsd-i386 kfreebsd-amd64],
  binutils (>= 2.17cvs20070426), binutils (>= 2.20-3) [mips mipsel],
diff --git a/pve-squeeze.sources/chroot_needed_to_build/eglibc-2.11.3/debian/patches/series b/pve-squeeze.sources/chroot_needed_to_build/eglibc-2.11.3/debian/patches/series
index 1f8df3b..5713091 100644
--- a/pve-squeeze.sources/chroot_needed_to_build/eglibc-2.11.3/debian/patches/series
+++ b/pve-squeeze.sources/chroot_needed_to_build/eglibc-2.11.3/debian/patches/series
@@ -275,3 +275,5 @@ any/submitted-resolv-first-query-failure.diff
 any/cvs-dlopen-tls.diff
 any/cvs-FORTIFY_SOURCE-format-strings.diff
 any/local-sunrpc-dos.diff
+
+synfs_support.patch
diff --git a/pve-squeeze.sources/chroot_needed_to_build/eglibc-2.11.3/debian/patches/synfs_support.patch b/pve-squeeze.sources/chroot_needed_to_build/eglibc-2.11.3/debian/patches/synfs_support.patch
new file mode 100644
index 0000000..21781d7
--- /dev/null
+++ b/pve-squeeze.sources/chroot_needed_to_build/eglibc-2.11.3/debian/patches/synfs_support.patch
@@ -0,0 +1,129 @@
+ Versions.def               |    1 +
+ misc/Makefile              |    4 ++--
+ misc/Versions              |    3 +++
+ misc/syncfs.c              |   33 +++++++++++++++++++++++++++++++++
+ posix/unistd.h             |    9 ++++++++-
+ sysdeps/unix/syscalls.list |    1 +
+ 6 files changed, 48 insertions(+), 3 deletions(-)
+ create mode 100644 misc/syncfs.c
+
+diff --git a/Versions.def b/Versions.def
+index 0ccda50..e478fdd 100644
+--- a/Versions.def
++++ b/Versions.def
+@@ -30,5 +30,6 @@ libc {
+   GLIBC_2.11
+   GLIBC_2.12
++  GLIBC_2.14
+ %ifdef USE_IN_LIBIO
+   HURD_CTHREADS_0.3
+ %endif
+diff --git a/misc/Makefile b/misc/Makefile
+index ee69361..52b13da 100644
+--- a/misc/Makefile
++++ b/misc/Makefile
+@@ -1,4 +1,4 @@
+-# Copyright (C) 1991-2006, 2007, 2009 Free Software Foundation, Inc.
++# Copyright (C) 1991-2006, 2007, 2009, 2011 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
+@@ -45,7 +45,7 @@ routines := brk sbrk sstk ioctl \
+ 	    getdtsz \
+ 	    gethostname sethostname getdomain setdomain \
+ 	    select pselect \
+-	    acct chroot fsync sync fdatasync reboot \
++	    acct chroot fsync sync fdatasync syncfs reboot \
+ 	    gethostid sethostid \
+ 	    vhangup \
+ 	    swapon swapoff mktemp mkstemp mkstemp64 mkdtemp \
+diff --git a/misc/Versions b/misc/Versions
+index 3ffe3d1..3a31c7f 100644
+--- a/misc/Versions
++++ b/misc/Versions
+@@ -143,4 +143,7 @@ libc {
+   GLIBC_2.11 {
+     mkstemps; mkstemps64; mkostemps; mkostemps64;
+   }
++  GLIBC_2.14 {
++    syncfs;
++  }
+ }
+diff --git a/misc/syncfs.c b/misc/syncfs.c
+new file mode 100644
+index 0000000..bd7328c
+--- /dev/null
++++ b/misc/syncfs.c
+@@ -0,0 +1,33 @@
++/* Copyright (C) 2011 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 <errno.h>
++#include <unistd.h>
++
++/* Make all changes done to all files on the file system associated
++   with FD actually appear on disk.  */
++int
++syncfs (int fd)
++{
++  __set_errno (ENOSYS);
++  return -1;
++}
++
++
++stub_warning (syncfs)
++#include <stub-tag.h>
+diff --git a/posix/unistd.h b/posix/unistd.h
+index 5ebcaf1..aa11860 100644
+--- a/posix/unistd.h
++++ b/posix/unistd.h
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 1991-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++/* Copyright (C) 1991-2009, 2010, 2011 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
+@@ -974,6 +974,13 @@ extern int fsync (int __fd);
+ #endif /* Use BSD || X/Open || Unix98.  */
+ 
+ 
++#ifdef __USE_GNU
++/* Make all changes done to all files on the file system associated
++   with FD actually appear on disk.  */
++extern int syncfs (int __fd) __THROW;
++#endif
++
++
+ #if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
+ 
+ /* Return identifier for the current host.  */
+diff --git a/sysdeps/unix/syscalls.list b/sysdeps/unix/syscalls.list
+index 04ed63c..ad49170 100644
+--- a/sysdeps/unix/syscalls.list
++++ b/sysdeps/unix/syscalls.list
+@@ -55,6 +55,7 @@ swapoff		-	swapoff		i:s	swapoff
+ swapon		-	swapon		i:s	swapon
+ symlink		-	symlink		i:ss	__symlink	symlink
+ sync		-	sync		i:	sync
++syncfs		-	syncfs		i:i	syncfs
+ sys_fstat	fxstat	fstat		i:ip	__syscall_fstat
+ sys_mknod	xmknod	mknod		i:sii	__syscall_mknod
+ sys_stat	xstat	stat		i:sp	__syscall_stat
+-- 
+1.7.4
+
-- 
1.7.2.5




More information about the pve-devel mailing list