Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 20 Aug 1998 19:16:48 +0000 (19:16 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 20 Aug 1998 19:16:48 +0000 (19:16 +0000)
1998-08-20 19:14  Ulrich Drepper  <drepper@cygnus.com>

* sysdeps/unix/sysv/linux/Makefile [subdirs=misc] (sysdeps_routines):
Add umount and umount2.
* sysdeps/unix/sysv/linux/syscalls.list: Remove umount.
* sysdeps/unix/sysv/linux/umount.S: New file.
* sysdeps/unix/sysv/linux/umount2.S: New file.
* sysdeps/unix/sysv/linux/sys/mount.h: Declare umount2.
Define MNT_FORCE.

ChangeLog
sysdeps/unix/sysv/linux/Makefile
sysdeps/unix/sysv/linux/sys/mount.h
sysdeps/unix/sysv/linux/syscalls.list
sysdeps/unix/sysv/linux/umount.S [new file with mode: 0644]
sysdeps/unix/sysv/linux/umount2.S [new file with mode: 0644]

index 5fd00e3..a038b7b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+1998-08-20 19:14  Ulrich Drepper  <drepper@cygnus.com>
+
+       * sysdeps/unix/sysv/linux/Makefile [subdirs=misc] (sysdeps_routines):
+       Add umount and umount2.
+       * sysdeps/unix/sysv/linux/syscalls.list: Remove umount.
+       * sysdeps/unix/sysv/linux/umount.S: New file.
+       * sysdeps/unix/sysv/linux/umount2.S: New file.
+       * sysdeps/unix/sysv/linux/sys/mount.h: Declare umount2.
+       Define MNT_FORCE.
+
 1998-08-20 16:01  Ulrich Drepper  <drepper@cygnus.com>
 
        * elf/ldd.sh.in: Redirect warnings and error messages to stderr.
index b84fbed..5c38ced 100644 (file)
@@ -9,7 +9,8 @@ CPPFLAGS += -DHAVE_LLSEEK=1
 endif
 
 ifeq ($(subdir),misc)
-sysdep_routines += sysctl clone llseek getresuid getresgid sys_setresuid
+sysdep_routines += sysctl clone llseek getresuid getresgid sys_setresuid \
+                  umount umount2
 
 sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h sys/mtio.h \
                  sys/io.h sys/klog.h sys/kdaemon.h \
index 589ecbc..4b71549 100644 (file)
@@ -82,6 +82,10 @@ enum
 #define BLKRAGET   _IO(0x12, 99) /* Get current read ahead setting.  */
 
 
+/* Possible value for FLAGS parameter of `umount2'.  */
+#define MNT_FORCE              /* Force unmounting.  */
+
+
 __BEGIN_DECLS
 
 /* Mount a filesystem.  */
@@ -92,6 +96,9 @@ extern int mount __P ((__const char *__special_file, __const char *__dir,
 /* Unmount a filesystem.  */
 extern int umount __P ((__const char *__special_file));
 
+/* Unmount a filesystem.  Forst unmounting if FALGS is set to MNT_FORCE.  */
+extern int umount2 __P ((__const char *__special_file, int __flags));
+
 __END_DECLS
 
 #endif /* _SYS_MOUNT_H */
index 6d06d0d..82c6423 100644 (file)
@@ -82,6 +82,5 @@ sys_writev    writev  writev          3       __syscall_writev
 sysinfo                EXTRA   sysinfo         1       sysinfo
 swapon         -       swapon          2       __swapon        swapon
 swapoff                -       swapoff         1       __swapoff       swapoff
-umount         EXTRA   umount          1       __umount        umount
 uselib         EXTRA   uselib          1       uselib
 wait4          -       wait4           4       __wait4         wait4
diff --git a/sysdeps/unix/sysv/linux/umount.S b/sysdeps/unix/sysv/linux/umount.S
new file mode 100644 (file)
index 0000000..e18463e
--- /dev/null
@@ -0,0 +1,12 @@
+/* This hack is necessary since the kernel people are making "strange"
+   changes.  They simply rename old system calls.  */
+
+#include <sysdep.h>
+#ifdef __NR_oldumount
+PSEUDO (__umount, oldumount, 1)
+#else
+PSEUDO (__umount, umount, 1)
+#endif
+       ret
+PSEUDO_END(__umount)
+weak_alias (__umount, umount)
diff --git a/sysdeps/unix/sysv/linux/umount2.S b/sysdeps/unix/sysv/linux/umount2.S
new file mode 100644 (file)
index 0000000..92241bb
--- /dev/null
@@ -0,0 +1,13 @@
+/* umount system call with two parameters.  */
+
+#include <sysdep.h>
+#if defined __NR_oldumount || defined __NR_umount2
+#ifdef __NR_oldumount
+PSEUDO (__umount2, umount, 2)
+#else
+PSEUDO (__umount2, umount2, 2)
+#endif
+       ret
+PSEUDO_END(__umount2)
+weak_alias (__umount2, umount2)
+#endif