[git commit] umount: fix "umount -t FSTYPE MNTPOINT" acting as if -a is specified

Denys Vlasenko vda.linux at googlemail.com
Tue Feb 20 16:58:19 UTC 2018


commit: https://git.busybox.net/busybox/commit/?id=b083e8cc538ba6b27e19da541ca6a0f7ceb7daee
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

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 at googlemail.com>
---
 util-linux/umount.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/util-linux/umount.c b/util-linux/umount.c
index b45cd8a6b..e2329f8b3 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;


More information about the busybox-cvs mailing list