diff options
Diffstat (limited to 'sys')
-rw-r--r-- | sys/compat/linux/linux_file.c | 7 | ||||
-rw-r--r-- | sys/compat/linux/linux_file.h | 5 |
2 files changed, 11 insertions, 1 deletions
diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c index 565fc562fdf8..f341e67b11e7 100644 --- a/sys/compat/linux/linux_file.c +++ b/sys/compat/linux/linux_file.c @@ -1078,9 +1078,14 @@ int linux_umount(struct thread *td, struct linux_umount_args *args) { struct unmount_args bsd; + int flags; + + flags = 0; + if ((args->flags & LINUX_MNT_FORCE) != 0) + flags |= MNT_FORCE; bsd.path = args->path; - bsd.flags = args->flags; /* XXX correct? */ + bsd.flags = flags; return (sys_unmount(td, &bsd)); } #endif diff --git a/sys/compat/linux/linux_file.h b/sys/compat/linux/linux_file.h index 40384c52a066..574feec3f26f 100644 --- a/sys/compat/linux/linux_file.h +++ b/sys/compat/linux/linux_file.h @@ -57,6 +57,11 @@ #define LINUX_MS_REMOUNT 0x0020 /* + * umount2 flags + */ +#define LINUX_MNT_FORCE 0x0001 + +/* * common open/fcntl flags */ #define LINUX_O_RDONLY 00000000 |