NFS client patches for Linux 2.6.28-rc6

The following set of patches fix known issues with the 2.6.28-rc6 NFS client code, and significantly enhance the support for NFSv4.

linux-2.6.28-001-fix_socket_close.dif:

From: Trond Myklebust <Trond.Myklebust@netapp.com>

Date: Sun, 30 Nov 2008 17:36:28 -0500

SUNRPC: Ensure the server closes sockets in a timely fashion

We want to ensure that connected sockets close down the connection when we set XPT_CLOSE, so that we don't keep it hanging while cleaning up all the stuff that is keeping a reference to the socket.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

linux-2.6.28-002-fix_svc_delete_xprt.dif:

From: Trond Myklebust <Trond.Myklebust@netapp.com>

Date: Sun, 30 Nov 2008 17:36:35 -0500

SUNRPC: We only need to call svc_delete_xprt() once...

Use XPT_DEAD to ensure that we only call xpo_detach & friends once.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

linux-2.6.28-003-fix_svc_xprt_enqueue.dif:

From: Trond Myklebust <Trond.Myklebust@netapp.com>

Date: Sun, 30 Nov 2008 17:36:36 -0500

SUNRPC: svc_xprt_enqueue should not refuse to enqueue 'XPT_DEAD' transports

Aside from being racy (there is nothing preventing someone setting XPT_DEAD after the test in svc_xprt_enqueue, and before XPT_BUSY is set), it is wrong to assume that transports which have called svc_delete_xprt() might not need to be re-enqueued.

See the list of deferred requests, which is currently never going to be cleared if the revisit call happens after svc_delete_xprt(). In this case, the deferred request will currently keep a reference to the transport forever.

The fix should be to allow dead transports to be enqueued in order to clear the deferred requests, then change the order of processing in svc_recv() so that we pick up deferred requests before we do the XPT_CLOSE processing.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory   -  
[TXT]linux-2.6.28-001-fix..>2008-11-30 22:44 2.0K 
[TXT]linux-2.6.28-002-fix..>2008-11-30 22:44 1.4K 
[TXT]linux-2.6.28-003-fix..>2008-11-30 22:44 6.1K 
[   ]series 2008-11-30 22:44 198  

Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16 mod_perl/2.0.11 Perl/v5.16.3 Server at linux-nfs.org Port 80