diff options
-rw-r--r-- | include/sys/mount.h | 3 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/umount.c | 17 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/umount2.c | 7 |
3 files changed, 10 insertions, 17 deletions
diff --git a/include/sys/mount.h b/include/sys/mount.h index 57d440f27..f3198e6ae 100644 --- a/include/sys/mount.h +++ b/include/sys/mount.h @@ -115,8 +115,11 @@ extern int mount (__const char *__special_file, __const char *__dir, /* Unmount a filesystem. */ extern int umount (__const char *__special_file) __THROW; +#ifdef __UCLIBC_LINUX_SPECIFIC__ /* Unmount a filesystem. Force unmounting if FLAGS is set to MNT_FORCE. */ extern int umount2 (__const char *__special_file, int __flags) __THROW; +libc_hidden_proto(umount2) +#endif __END_DECLS diff --git a/libc/sysdeps/linux/common/umount.c b/libc/sysdeps/linux/common/umount.c index a084d29bd..916c6c815 100644 --- a/libc/sysdeps/linux/common/umount.c +++ b/libc/sysdeps/linux/common/umount.c @@ -9,24 +9,15 @@ #include <sys/syscall.h> -#if defined __USE_GNU #include <sys/mount.h> - -/* arch provides umount() syscall */ #ifdef __NR_umount - _syscall1(int, umount, const char *, specialfile) - -/* arch provides umount2() syscall */ #elif defined __NR_umount2 - -# define __NR___syscall_umount2 __NR_umount2 -static __inline__ _syscall2(int, __syscall_umount2, const char *, special_file, int, flags) - +# ifndef __UCLIBC_LINUX_SPECIFIC__ +static __always_inline _syscall2(int, umount2, const char *, special_file, int, flags) +# endif int umount(const char *special_file) { - return (__syscall_umount2(special_file, 0)); + return umount2(special_file, 0); } - -#endif #endif diff --git a/libc/sysdeps/linux/common/umount2.c b/libc/sysdeps/linux/common/umount2.c index 2cc4a2338..08e0f3388 100644 --- a/libc/sysdeps/linux/common/umount2.c +++ b/libc/sysdeps/linux/common/umount2.c @@ -9,9 +9,8 @@ #include <sys/syscall.h> -#if defined __USE_GNU -#include <sys/mount.h> -#ifdef __NR_umount2 /* Old kernels don't have umount2 */ +#if defined __UCLIBC_LINUX_SPECIFIC__ && defined __NR_umount2 +# include <sys/mount.h> _syscall2(int, umount2, const char *, special_file, int, flags) -#endif +libc_hidden_def(umount2) #endif |