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

Dietmar Maurer dietmar at proxmox.com
Tue Nov 6 09:20:45 CET 2012


Sorry, but I do not plan to maintain libc myself.

> -----Original Message-----
> From: pve-devel-bounces at pve.proxmox.com [mailto:pve-devel-
> bounces at pve.proxmox.com] On Behalf Of Stefan Priebe
> Sent: Dienstag, 06. November 2012 09:18
> To: pve-devel at pve.proxmox.com
> Subject: [pve-devel] [PATCH 01/13] libc: added syncfs support / patch
> 
> 
> 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/co
> +++ ntrol
> @@ -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/pa
> +++ tches/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/pa
> +++ tches/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
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel





More information about the pve-devel mailing list