diff options
| author | Neil Brown <neilb@cse.unsw.edu.au> | 2003-05-20 06:20:07 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-05-20 06:20:07 -0700 |
| commit | 4690a87a5cd54d3b520c067b98f8cd26a95c57e7 (patch) | |
| tree | 844feca21bcb3d0c1055c95a026b9c5a864ce5e1 | |
| parent | 9f6320547365d254d61b29a5d606b0531718fd0e (diff) | |
[PATCH] kNFSd: Set SOCK_NOSPACE when RPC server decides there is insufficient.
SOCK_NOSPACE is set, so we must set it when we want to get
a ->write_space callback.
| -rw-r--r-- | net/sunrpc/svcsock.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c index e0016af3fca6..104c6ad5188d 100644 --- a/net/sunrpc/svcsock.c +++ b/net/sunrpc/svcsock.c @@ -166,6 +166,7 @@ svc_sock_enqueue(struct svc_sock *svsk) goto out_unlock; } + set_bit(SOCK_NOSPACE, &svsk->sk_sock->flags); if (((svsk->sk_reserved + serv->sv_bufsz)*2 > svc_sock_wspace(svsk)) && !test_bit(SK_CLOSE, &svsk->sk_flags) @@ -176,6 +177,7 @@ svc_sock_enqueue(struct svc_sock *svsk) svc_sock_wspace(svsk)); goto out_unlock; } + clear_bit(SOCK_NOSPACE, &svsk->sk_sock->flags); /* Mark socket as busy. It will remain in this state until the * server has processed all pending data and put the socket back |
