[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