diff options
author | Eric Andersen <andersen@codepoet.org> | 2001-03-04 06:07:34 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2001-03-04 06:07:34 +0000 |
commit | 076cdc24fcf65d9e8868418f17a6da10862bef2d (patch) | |
tree | 6c5d51c3c2b9ac7761afb6074ff8ce5a568b7e1c | |
parent | 9ead68975c05100e4d1fda0b750fbc3688e68cfd (diff) | |
download | busybox-076cdc24fcf65d9e8868418f17a6da10862bef2d.tar.gz |
If umount2 is not available, stub it out.
-rw-r--r-- | utility.c | 25 |
1 files changed, 20 insertions, 5 deletions
@@ -189,18 +189,33 @@ _syscall1(int, sysinfo, struct sysinfo *, info); #if defined BB_MOUNT || defined BB_UMOUNT -#ifndef __NR_umount2 -static const int __NR_umount2 = 52; -#endif - /* Include our own version of <sys/mount.h>, since libc5 doesn't * know about umount2 */ extern _syscall1(int, umount, const char *, special_file); -extern _syscall2(int, umount2, const char *, special_file, int, flags); extern _syscall5(int, mount, const char *, special_file, const char *, dir, const char *, fstype, unsigned long int, rwflag, const void *, data); +#ifndef __NR_umount2 +# warning This kernel does not support the umount2 syscall +# warning The umount2 system call is being stubbed out... + int umount2(const char * special_file, int flags) + { + /* BusyBox was compiled against a kernel that did not support + * the umount2 system call. To make this application work, + * you will need to recompile with a kernel supporting the + * umount2 system call. + */ + fprintf(stderr, "\n\nTo make this application work, you will need to recompile\n"); + fprintf(stderr, "with a kernel supporting the umount2 system call. -Erik\n\n"); + errno=ENOSYS; + return -1; + } +# else + extern _syscall2(int, umount2, const char *, special_file, int, flags); +# endif #endif + + #if defined BB_FEATURE_NEW_MODULE_INTERFACE && ( defined BB_INSMOD || defined BB_LSMOD ) #ifndef __NR_query_module static const int __NR_query_module = 167; |