summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko2018-02-20 17:58:19 +0100
committerDenys Vlasenko2018-02-20 17:58:19 +0100
commitb083e8cc538ba6b27e19da541ca6a0f7ceb7daee (patch)
tree705123ac49b820231c74ba8142242ec9fafe047a
parenta84db18fc71d09e801df0ebca048d82e90b32c6a (diff)
downloadbusybox-b083e8cc538ba6b27e19da541ca6a0f7ceb7daee.zip
busybox-b083e8cc538ba6b27e19da541ca6a0f7ceb7daee.tar.gz
umount: fix "umount -t FSTYPE MNTPOINT" acting as if -a is specified
While at it, add -t to --help, and fix comments which say that -t is ignored function old new delta packed_usage 32427 32444 +17 umount_main 558 552 -6 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 17/-6) Total: 11 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--util-linux/umount.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/util-linux/umount.c b/util-linux/umount.c
index b45cd8a..e2329f8 100644
--- a/util-linux/umount.c
+++ b/util-linux/umount.c
@@ -57,6 +57,7 @@
//usage: IF_FEATURE_MOUNT_LOOP(
//usage: "\n -d Free loop device if it has been used"
//usage: )
+//usage: "\n -t FSTYPE[,...] Unmount only these filesystem type(s)"
//usage:
//usage:#define umount_example_usage
//usage: "$ umount /dev/hdc1\n"
@@ -81,8 +82,8 @@ static struct mntent *getmntent_r(FILE* stream, struct mntent* result,
}
#endif
-/* ignored: -c -v -t -i */
-#define OPTION_STRING "fldnra" "cvt:i"
+/* ignored: -c -v -i */
+#define OPTION_STRING "fldnrat:" "cvi"
#define OPT_FORCE (1 << 0) // Same as MNT_FORCE
#define OPT_LAZY (1 << 1) // Same as MNT_DETACH
#define OPT_FREELOOP (1 << 2)
@@ -143,7 +144,8 @@ int umount_main(int argc UNUSED_PARAM, char **argv)
}
// If we're not umounting all, we need at least one argument.
- if (!(opt & OPT_ALL) && !fstype) {
+ // Note: "-t FSTYPE" does not imply -a.
+ if (!(opt & OPT_ALL)) {
if (!argv[0])
bb_show_usage();
m = NULL;