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>
next in thread | previous in thread | raw e-mail | index | archive | help
:> 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>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200502212147.j1LLlP7n010674>