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>
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 @@
}
#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 @@
}
// 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;