Disable mount(8) canonical paths in do_mount()
By default the mount(8) command, as invoked by 'zfs mount', will try to resolve any path parameter in its canonical form: this could lead to mount failures when the cwd contains a symlink having the same name of the dataset being mounted. Fix this by explicitly disabling mount(8) path canonicalization. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: loli10K <ezomori.nozomu@gmail.com> Closes #1791 Closes #6429 Closes #6437
This commit is contained in:
parent
ae5b4a05ff
commit
4810a108e8
|
@ -11,7 +11,6 @@ Before=local-fs.target
|
|||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=@sbindir@/zfs mount -a
|
||||
WorkingDirectory=-/sbin/
|
||||
|
||||
[Install]
|
||||
WantedBy=zfs-share.service
|
||||
|
|
|
@ -344,8 +344,9 @@ zfs_is_mountable(zfs_handle_t *zhp, char *buf, size_t buflen,
|
|||
static int
|
||||
do_mount(const char *src, const char *mntpt, char *opts)
|
||||
{
|
||||
char *argv[8] = {
|
||||
char *argv[9] = {
|
||||
"/bin/mount",
|
||||
"--no-canonicalize",
|
||||
"-t", MNTTYPE_ZFS,
|
||||
"-o", opts,
|
||||
(char *)src,
|
||||
|
|
Loading…
Reference in New Issue