vfs: split up name hashing in link_path_walk() into helper function
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 2 Mar 2012 22:49:24 +0000 (14:49 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 2 Mar 2012 22:49:24 +0000 (14:49 -0800)
commit200e9ef7ab51f3dce4f35f90ea458cf43ea83bb8
tree0fb908e21482546aef9c9fff5580ca79fec1cd56
parent5707c87f20bca9e76969bb4096149de6ef74cbb9
vfs: split up name hashing in link_path_walk() into helper function

The code in link_path_walk() that finds out the length and the hash of
the next path component is some of the hottest code in the kernel.  And
I have a version of it that does things at the full width of the CPU
wordsize at a time, but that means that we *really* want to split it up
into a separate helper function.

So this re-organizes the code a bit and splits the hashing part into a
helper function called "hash_name()".  It returns the length of the
pathname component, while at the same time computing and writing the
hash to the appropriate location.

The code generation is slightly changed by this patch, but generally for
the better - and the added abstraction actually makes the code easier to
read too.  And the new interface is well suited for replacing just the
"hash_name()" function with alternative implementations.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/namei.c