Re: [AppArmor 39/45] AppArmor: Profile loading and manipulation, pathname matching

From: Andreas Gruenbacher
Date: Fri Jun 22 2007 - 05:59:55 EST


On Saturday 16 June 2007 02:20, Pavel Machek wrote:
> Ok, so mv gets slower for big trees... and open() gets faster for deep
> trees. Previously, open in current directory was one atomic read of
> directory entry, now it has to read directory, and its parent, and its
> parent parent, and its...
>
> (Or am I wrong and getting full path does not need to bring anything
> in, not even in cache-cold case?)

You are wrong, indeed. The dentries in the dcache are connected to the dcache
through their parent dentry pointers, which means that the parent dentries
are always in memory, too. No I/O is involved for walking up dentry trees.

(Caveat: nfsd does allow disconnected dentries. It does not make sense to try
confining an in-kernel daemon though, an no user process can ever access a
dentry before it gets connected (lookup does that), so this difference is
irrelevant here.)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/