-
Alexander Viro authored
OK, here comes. Patch below is an attempt to do the fastwalk stuff in right way and so far it seems to be working. - dentry leak is plugged - locked/unlocked state of nameidata doesn't depend on history - it depends only on point in code. - LOOKUP_LOCKED is gone. - following mounts and .. doesn't drop dcache_lock - light-weight permission check distinguishes between "don't know" and "permission denied", so we don't call full-blown permission() unless we have to. - code that changes root/pwd holds dcache_lock _and_ write lock on current->fs->lock. I.e. if we hold dcache_lock we can safely access our ->fs->{root,pwd}{,mnt} - __d_lookup() does not increment refcount; callers do dget_locked() if they need it (behaviour of d_lookup() didn't change, obviously). - link_path_walk() logics had been (somewhat) cleaned up.
85d217f4