On 08/26/2016 10:07 AM, Greg Kurz wrote: > The 9P spec at http://man.cat-v.org/plan_9/5/intro says: > > All directories must support walks to the directory .. (dot-dot) meaning > parent directory, although by convention directories contain no explicit > entry for .. or . (dot). The parent of the root directory of a server's > tree is itself. > > This means that a client cannot walk further than the root directory > exported by the server. In other words, if the client wants to walk > "/.." or "/foo/../..", the server shoud answer like the request was
s/shoud/should/ > to walk "/". > > This patch just does that: > - we cache the QID of the root directory at attach time > - during the walk we compare the QID of each path component with the root > QID to detect if we're in a "/.." situation > - if so, we skip the current component and go to the next one > > Signed-off-by: Greg Kurz <gr...@kaod.org> > --- > hw/9pfs/9p.c | 40 +++++++++++++++++++++++++++++++--------- > hw/9pfs/9p.h | 1 + > 2 files changed, 32 insertions(+), 9 deletions(-) > Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature