]> git.michaelhowe.org Git - packages/o/openafs.git/commit
LINUX: Reduce stack depth on recursive symlink res
authorAndrew Deason <adeason@sinenomine.net>
Fri, 3 Dec 2010 23:20:54 +0000 (17:20 -0600)
committerDerrick Brashear <shadow@dementix.org>
Thu, 15 Dec 2011 04:18:44 +0000 (20:18 -0800)
commit64e79bd6b88147f95d99ee8240d50995658b8340
treea178af2f87c411d90cee1a25feb6cd454d9c0cd6
parent303b6fd682abaa0affd15a4ddd7d5b6b11f620bc
LINUX: Reduce stack depth on recursive symlink res

Instead of calling vfs_follow_link inside afs_linux_follow_link
ourselves, we can just resolve the next step of the symlink resolution
and set the result in nd_set_link(), freeing the string in
.put_link().

For kernels without a usable symlink text cache, this reduces call
depth when resolving a path containing many symlinks by two frames per
layer of indirection, allowing for more deeply-nested symlink paths to
be usable.

Reviewed-on: http://gerrit.openafs.org/3433
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Simon Wilkinson <sxw@inf.ed.ac.uk>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit 2ce159fbf474b96ecd2a4224751d4655230bba51)

Change-Id: Idb91c2bb1a10b60d125dccbc98731ace63d4add8
Reviewed-on: http://gerrit.openafs.org/6269
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>
src/afs/LINUX/osi_vnodeops.c