On 05/23/2017 09:32 AM, Greg Kurz wrote: > When using the mapped-file security mode, the creds of a path /foo/bar > are stored in the /foo/.virtfs_metadata/bar file. This is okay for all > paths unless they end with '.' or '..', because we cannot create the > corresponding file in the metadata directory. > > This patch ensures that '.' and '..' are resolved in all paths. > > The core code only passes path elements (no '/') to the backend, with > the notable exception of the '/' path, which refers to the virtfs root. > This patch preserves the current behavior of converting it to '.' so > that it can be passed to "*at()" syscalls ('/' would mean the host root). > > Signed-off-by: Greg Kurz > --- > + } else { > + char *tmp = g_path_get_dirname(dir_path->data); > + /* Symbolic links are resolved by the client. We can assume > + * that ".." relative to "foo/bar" is equivalent to "foo" > + */ Thanks for tweaking this since v1. Reviewed-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org