summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-01-07 03:10:15 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2010-01-07 03:10:15 +0100
commit93939f4e5df30e6229a0b5257fdcaf3faf88471c (patch)
treef30acb3e4a35ea96b342f3b1dd25700e7b531def /net
parentMerge branch 'davinci-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git... (diff)
parentsunrpc: fix peername failed on closed listener (diff)
downloadlinux-93939f4e5df30e6229a0b5257fdcaf3faf88471c.tar.xz
linux-93939f4e5df30e6229a0b5257fdcaf3faf88471c.zip
Merge branch 'for-2.6.33' of git://linux-nfs.org/~bfields/linux
* 'for-2.6.33' of git://linux-nfs.org/~bfields/linux: sunrpc: fix peername failed on closed listener nfsd: make sure data is on disk before calling ->fsync nfsd: fix "insecure" export option
Diffstat (limited to 'net')
-rw-r--r--net/sunrpc/svc_xprt.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
index 1c924ee0a1ef..7d1f9e928f69 100644
--- a/net/sunrpc/svc_xprt.c
+++ b/net/sunrpc/svc_xprt.c
@@ -699,7 +699,8 @@ int svc_recv(struct svc_rqst *rqstp, long timeout)
spin_unlock_bh(&pool->sp_lock);
len = 0;
- if (test_bit(XPT_LISTENER, &xprt->xpt_flags)) {
+ if (test_bit(XPT_LISTENER, &xprt->xpt_flags) &&
+ !test_bit(XPT_CLOSE, &xprt->xpt_flags)) {
struct svc_xprt *newxpt;
newxpt = xprt->xpt_ops->xpo_accept(xprt);
if (newxpt) {