From e4ea53de0b6bc31303fdfc9ebb546bce4527c5d6 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 21 Aug 2014 14:58:40 +0200 Subject: [PATCH] libmount: use -t for type.subtype in helpers API References: https://github.com/karelzak/util-linux/issues/116 Signed-off-by: Karel Zak --- libmount/src/context_mount.c | 4 +++- libmount/src/context_umount.c | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c index 015171e3c0..71a4e85f9b 100644 --- a/libmount/src/context_mount.c +++ b/libmount/src/context_mount.c @@ -580,7 +580,9 @@ static int exec_helper(struct libmnt_context *cxt) args[i++] = "-o"; /* 8 */ args[i++] = o; /* 9 */ } - if (type && !endswith(cxt->helper, type)) { + if (type + && strchr(type, '.') + && !endswith(cxt->helper, type)) { args[i++] = "-t"; /* 10 */ args[i++] = type; /* 11 */ } diff --git a/libmount/src/context_umount.c b/libmount/src/context_umount.c index 220f28bc6d..73e8214c8a 100644 --- a/libmount/src/context_umount.c +++ b/libmount/src/context_umount.c @@ -559,9 +559,11 @@ static int exec_helper(struct libmnt_context *cxt) args[i++] = "-v"; /* 6 */ if (mnt_context_is_rdonly_umount(cxt)) args[i++] = "-r"; /* 7 */ - if (type && !endswith(cxt->helper, type)) { + if (type + && strchr(type, '.') + && !endswith(cxt->helper, type)) { args[i++] = "-t"; /* 8 */ - args[i++] = (char *) type; /* 9 */ + args[i++] = (char *) type; /* 9 */ } args[i] = NULL; /* 10 */ -- 2.47.3