vfs/vfscache: fix silent write failure when mounting with remote:.

When mounting with 'remote:.' (dot notation for current directory),
the '.' is passed through toOSPath() which encodes it to full-width
'.' (U+FF0E) via EncodeDot. This caused the VFS cache data/meta root
to be written to a full-width-dot directory while the local cache
backend pointed to the canonicalized path, resulting in writes being
cached but never uploaded.

Fix by calling clean() on the relativeDirPath before toOSPath(),
so path.Clean() strips the trailing '/.' removing the dot before
encoding.
This commit is contained in:
Lucky945H
2026-05-18 18:34:55 +01:00
committed by Nick Craig-Wood
parent 793f2d2f06
commit f7d371fc37
+1
View File
@@ -97,6 +97,7 @@ func New(ctx context.Context, fremote fs.Fs, opt *vfscommon.Options, avFn AddVir
}
}
relativeDirPath = fremote.Name() + "/" + relativeDirPath
relativeDirPath = clean(relativeDirPath)
relativeDirOSPath := toOSPath(relativeDirPath)
// Create cache root dirs