aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTyler Hall <tylerwhall@gmail.com>2024-07-26 22:49:29 -0400
committerBernd Schubert <bernd.schubert@fastmail.fm>2024-07-29 10:59:22 +0200
commit54466d2c426b046a90751acbe6b9a5ed37048de0 (patch)
tree3044585b4c3ccf6cd21a024b8d5438b9b6a5430e
parentfebea554d3089667fd12e287cdd7e61b7388cd7c (diff)
downloadlibfuse-54466d2c426b046a90751acbe6b9a5ed37048de0.tar.gz
Pass through nosymfollow mount option
This option is handled in VFS. Added in Linux 5.10 dab741e0e02bd3c4f5e2e97be74b39df2523fc6e Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
-rw-r--r--lib/mount.c5
-rw-r--r--util/fusermount.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/mount.c b/lib/mount.c
index 3fbbe72..aedd9b9 100644
--- a/lib/mount.c
+++ b/lib/mount.c
@@ -41,6 +41,7 @@
#define MS_NOEXEC MNT_NOEXEC
#define MS_SYNCHRONOUS MNT_SYNCHRONOUS
#define MS_NOATIME MNT_NOATIME
+#define MS_NOSYMFOLLOW MNT_NOSYMFOLLOW
#define umount2(mnt, flags) unmount(mnt, (flags == 2) ? MNT_FORCE : 0)
#endif
@@ -114,6 +115,8 @@ static const struct fuse_opt fuse_mount_opts[] = {
FUSE_OPT_KEY("noatime", KEY_KERN_FLAG),
FUSE_OPT_KEY("nodiratime", KEY_KERN_FLAG),
FUSE_OPT_KEY("nostrictatime", KEY_KERN_FLAG),
+ FUSE_OPT_KEY("symfollow", KEY_KERN_FLAG),
+ FUSE_OPT_KEY("nosymfollow", KEY_KERN_FLAG),
FUSE_OPT_END
};
@@ -185,6 +188,8 @@ static const struct mount_flags mount_flags[] = {
{"nodiratime", MS_NODIRATIME, 1},
{"norelatime", MS_RELATIME, 0},
{"nostrictatime", MS_STRICTATIME, 0},
+ {"symfollow", MS_NOSYMFOLLOW, 0},
+ {"nosymfollow", MS_NOSYMFOLLOW, 1},
#ifndef __NetBSD__
{"dirsync", MS_DIRSYNC, 1},
#endif
diff --git a/util/fusermount.c b/util/fusermount.c
index 5647af4..e40c457 100644
--- a/util/fusermount.c
+++ b/util/fusermount.c
@@ -708,6 +708,8 @@ static struct mount_flags mount_flags[] = {
{"strictatime", MS_STRICTATIME, 1, 1},
{"nostrictatime", MS_STRICTATIME, 0, 1},
{"dirsync", MS_DIRSYNC, 1, 1},
+ {"symfollow", MS_NOSYMFOLLOW, 0, 1},
+ {"nosymfollow", MS_NOSYMFOLLOW, 1, 1},
{NULL, 0, 0, 0}
};