Date: Mon, 21 Feb 2005 13:47:25 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Don Lewis <truckman@freebsd.org> Cc: rwatson@freebsd.org Subject: Re: Re[2]: vn_fullpath() Message-ID: <200502212147.j1LLlP7n010674@apollo.backplane.com> References: <200502212013.j1LKDJPT042188@gw.catspoiler.org>
index | next in thread | previous in thread | raw e-mail
:> tree if elements are missing, either directly, or by asking the file
:> system using the above call. It's the last step from the file back to a
:> parent directory that is the hardest. Alternatively, we can back off
:> dropping the intermediate nodes and see to what extent that hurts vs.
:> helps.
:
:I seem to recall that DragonFly keeps the intermediate nodes.
There's no way to backport that, it would be hundreds of man hours of
work. DragonFly uses a totally different namecache topology now, one
that is mandatory and which guarentees the existance of intermediate
nodes.
You'd have to implement something similar to libc's getcwd code. e.g.
".." through and scan each directory to find the matching inode if
the namecache entry is not present. It actually wouldn't be too hard
to do. It wouldn't be efficient, but vn_fullpath() is rarely used
so it shouldn't be a problem.
-Matt
Matthew Dillon
<dillon@backplane.com>
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200502212147.j1LLlP7n010674>
