On Mon, May 05, 2008 at 06:43:57PM +0200, Miklos Szeredi wrote:This is still wrong. We not just pass the pathname to filesystem (note that you still need to deal with symlinks), but we make that filesystem to populate dentry tree. Take a look at 9P walk - it does *not* give you anything resembling stat, you just get qids of intermediates. Which is bloody useful when you want to do intelligent revalidation (do local cached walk, then issue a single protocol request that will both do bulk revalidate *and* tell you where in the path you've got the first invalid one - just compare qids with what you've got stored locally). However, it's just about useless for cutting corners in cold-cache lookup. It _is_ a useful thing, no arguments about that. However, to use it a sane way we need to massage the pathname resolution loop, taking the "simple pass without symlinks or mountpoints" part into a new helper, turning the current __link_path_walk() into a loop calling that one and then folding it into callers. Would also allow to kill the last remnants of recursion in symlink handling for normal fs case... _Then_ we can do saner logics for revalidate, allowing it on such segments. Which, BTW, would deal with -ESTALE in a saner way, rather than "repeat full pathname resolution from the very beginning". And that's where 9P multi-step walk(5) would do very nicely, indeed. And fuck the "hints" of all kinds, pardon the rudeness. We already have more than enough of that crap and it already makes cleaning the logics up bloody painful. --
| Alex Samad | page swap allocation error/failure in 2.6.25 |
| Bart Van Assche | Re: Integration of SCST in the mainstream Linux kernel |
| Andrea Arcangeli | [PATCH 06 of 11] rwsem contended |
| Chuck Ebbert | Why do so many machines need "noapic"? |
git: | |
| Andy Parkins | svn:externals using git submodules |
| Elijah Newren | Trying to use git-filter-branch to compress history by removing large, obsolete bi... |
| Marcus Griep | [PATCH] git-svn: Make it scream by minimizing temp files |
| Tommi Virtanen | [PATCH] "git shell" won't work, need "git-shell" |
| Marcos Laufer | dmesg IBM x3650 OpenBSD 4.3 |
| Theo de Raadt | Re: Chatting with developers? Is it soo 1996? |
| Ted Unangst | Re: MAXDSIZ 1GB memory limit for process |
| Richard Stallman | Real men don't attack straw men |
| Denys Fedoryshchenko | Re: thousands of classes, e1000 TX unit hang |
| Suresh Siddha | Re: Kernel oops with 2.6.26, padlock and ipsec: probably problem with fpu state ch... |
| Simon Horman | Re: [PATCH] sendfile() and UDP socket |
| Jeff Garzik | Re: [PATCH] sky2: jumbo frame regression fix |
