Experimental NFS client patches for Linux 2.4.18

Please note: the patches in this directory represent what I am currently using on my machine. They are experimental, and are made available only so that people can test out features that I plan for inclusion in the kernel in the future.

A brief explanation of the patches in this directory

linux-2.4.18-seekdir.dif:

A patch that papers over a glibc bug. In glibc-2.2 and above, they use the new getdents64() syscall even for the 32-bit readdir. As a result, they have problems coping with the unsigned 64-bit d_off values that may get returned by some NFSv3 servers.

If you are seeing problems involving files that mysteriously disappear from your directory listings, then please consider applying this patch.

NOTE: You might still have to set the '32bitclients' export option on some IRIX servers.

linux-2.4.18-fix_create.dif:

Fixes up file creation in the case when the server does not return the filehandle/attributes.

linux-2.4.18-pathconf.dif:

A patch that ensures we don't exceed the maximum file name length on an NFSv3 partition.

linux-2.4.18-cto.dif:

A very experimental patch --initially by Chuck Lever, but now heavily changed by me-- which improves the NFS clients ability to cache lookups. This can make quite a difference to the performance of "make" and other such utilities.

linux-2.4.18-rdplus.dif:

Implements the NFSv3 READDIRPLUS function that allows further file lookup caching improvements

This patch assumes you have already applied the preceeding close-to-open fixes in linux-2.4.18-cto.dif and the patch linux-2.4.18-fattr.dif

linux-2.4.18-ping.dif:

The RPC ping code for improving stability on UDP.

linux-2.4.18-rpc_bkl.dif:

A patch that removes the need for the Big Kernel Lock within the RPC code.

This patch assumes you have already applied linux-2.4.18-fattr.dif

linux-2.4.18-svc_tcp.dif:

A patch implementing NFS-over-TCP for the knfsd server, which was written by Shirish Kalele.

linux-2.4.18-rpc_tweaks.dif:

A patch of further tweaks to be applied on top of the NFS-over-TCP knfsd server. Amongst other things, it enables 32k read/writes for Linux.

linux-2.4.18-odirect.dif:

A patch by Chuck Lever that implements experimental support for direct I/O over NFS. See the Configure.help file for further info.

Note: you should really consider applying linux-2.4.18-pathconf.dif together with this patch. This will allow you to align your O_DIRECT writes on the server's hardware block boundaries rather than being forced to align on the NFS client block boundaries.

linux-2.4.18-NFS_ALL.dif:

A patch containing all of the above. As it is a collection of experimental patches, please expect it to change without notice.


Return to main menu

Please address all comments about this page to Trond Myklebust
About Trond
Last modified: Fri Jan 25 22:30:56 CET 2002
[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory   -  
[TXT]linux-2.4.18-NFS_ALL..>2002-04-04 06:46 144K 
[TXT]linux-2.4.18-NFS_ALL..>2002-02-21 10:09 142K 
[TXT]linux-2.4.18-cto.dif 2002-02-02 21:09 12K 
[TXT]linux-2.4.18-fix_cre..>2002-03-05 01:22 1.9K 
[TXT]linux-2.4.18-fix_put..>2002-02-21 09:59 41K 
[TXT]linux-2.4.18-odirect..>2002-02-20 16:40 19K 
[TXT]linux-2.4.18-pathcon..>2001-11-22 20:00 16K 
[TXT]linux-2.4.18-ping.dif 2001-09-08 15:33 19K 
[TXT]linux-2.4.18-rdplus.dif2002-01-11 22:27 14K 
[TXT]linux-2.4.18-rpc_bkl..>2002-01-09 20:57 14K 
[TXT]linux-2.4.18-rpc_twe..>2002-04-04 06:48 18K 
[TXT]linux-2.4.18-rpc_twe..>2002-02-08 12:33 13K 
[TXT]linux-2.4.18-seekdir..>2001-08-15 12:19 3.2K 
[TXT]linux-2.4.18-svc_tcp..>2002-01-14 20:50 31K 

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