summaryrefslogtreecommitdiffstats
path: root/kernel/semaphore.c
diff options
context:
space:
mode:
authorDavid Woodhouse <David.Woodhouse@intel.com>2008-07-31 21:29:12 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2008-10-23 11:13:05 +0200
commit14f7dd632011bb89c035722edd6ea0d90ca6b078 (patch)
treed49a5fca0245eac9bd947aa200985d33267dfb19 /kernel/semaphore.c
parent[PATCH] Factor out nfsd_do_readdir() into its own function (diff)
downloadlinux-14f7dd632011bb89c035722edd6ea0d90ca6b078.tar.xz
linux-14f7dd632011bb89c035722edd6ea0d90ca6b078.zip
[PATCH] Copy XFS readdir hack into nfsd code.
Some file systems with their own internal locking have problems with the way that nfsd calls the ->lookup() method from within a filldir function called from their ->readdir() method. The recursion back into the file system code can cause deadlock. XFS has a fairly hackish solution to this which involves doing the readdir() into a locally-allocated buffer, then going back through it calling the filldir function afterwards. It's not ideal, but it works. It's particularly suboptimal because XFS does this for local file systems too, where it's completely unnecessary. Copy this hack into the NFS code where it can be used only for NFS export. In response to feedback, use it unconditionally rather than only for the affected file systems. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions