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:
committed by
Nick Craig-Wood
parent
793f2d2f06
commit
f7d371fc37
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user