diff options
-rw-r--r-- | libmount/src/context_mount.c | 4 | ||||
-rw-r--r-- | 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 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 */ |