summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmount/src/context_mount.c4
-rw-r--r--libmount/src/context_umount.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c
index 015171e3c..71a4e85f9 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 220f28bc6..73e8214c8 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 */