Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add syncfs syscall.
  • Loading branch information
Andreas Schwab authored and Ulrich Drepper committed Apr 1, 2011
1 parent 00e5419 commit 81a5726
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 2 deletions.
7 changes: 7 additions & 0 deletions ChangeLog
@@ -1,3 +1,10 @@
2011-03-30 Andreas Schwab <schwab@redhat.com>

* misc/syncfs.c: New file.
* misc/Makefile (routines): Add syncfs.
* posix/unistd.h: Declare syncfs.
* sysdeps/unix/syscalls.list: Add syncfs.

2011-04-01 Andreas Schwab <schwab@redhat.com>

* sysdeps/unix/sysv/linux/Versions: Rename open_by_handle to
Expand Down
4 changes: 2 additions & 2 deletions 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
Expand Down Expand Up @@ -41,7 +41,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 \
revoke vhangup \
swapon swapoff mktemp mkstemp mkstemp64 mkdtemp \
Expand Down
3 changes: 3 additions & 0 deletions misc/Versions
Expand Up @@ -143,4 +143,7 @@ libc {
GLIBC_2.11 {
mkstemps; mkstemps64; mkostemps; mkostemps64;
}
GLIBC_2.14 {
syncfs;
}
}
33 changes: 33 additions & 0 deletions 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>
7 changes: 7 additions & 0 deletions posix/unistd.h
Expand Up @@ -977,6 +977,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. */
Expand Down
1 change: 1 addition & 0 deletions sysdeps/unix/syscalls.list
Expand Up @@ -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
Expand Down

0 comments on commit 81a5726

Please sign in to comment.