Experimental NFS client patches for Linux 2.4.26

and all future 2.4.x releases until further notice

Please note: the patches in this directory represent what I am currently using on my machine. They are a continuation of a series of experimental patches that, were made available to allow testing of new features that have since gone into the 2.6.x stable kernel series.

Also note: There are currently no plans to add new features into the official 2.4.x kernel, so these patches are only being provided in order to allow people who currently rely on these features in their private 2.4.x build to continue using them.

A brief explanation of the patches in this directory

linux-2.4.26-01-fix_unlink.dif:

Ensure that sillydelete waits upon completion unless if user killed the task.

Also fix an NFSv3 alignment problem on 64-bit architectures.

linux-2.4.26-02-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.26-03-access.dif:

Implements full support for the NFSv3 ACCESS function. This means that file permission mapping, ACLs, and uid/gid mapping on the server should work as expected, allowing or denying certain types of behaviour.

Note that ACCESS results are cached in order to improve performance. The caching period is the same as that used to cache attributes (so if you use 'noac', you can expect a nasty performance hit).

linux-2.4.26-04-pathconf.dif:

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

linux-2.4.26-05-cto2.dif:

Reduce the number of getattr/lookup calls in nfs_lookup_revalidate() by making the latter rely on the ordinary attribute cache, and moving the close-to-open data consistency checking into nfs_open().

This does mean that we can end up calling GETATTR twice: once in nfs_lookup_revalidate() then immediately after in nfs_open(), however it also means that sys_stat() and friends now use cached attributes.

linux-2.4.26-06-rdplus.dif:

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

linux-2.4.26-07-sock_disconnect.dif:

Ensure that the RPC client disconnects TCP sockets after they have been left idle for 5 minutes.

linux-2.4.26-NFS_ALL.dif:

A patch containing all of the above changes to the NFS code.


Return to main menu

Please address all comments about this page to Trond Myklebust
About Trond
Last modified: Wed Apr 14 11:57:32 PDT 2004
[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory   -  
[TXT]linux-2.4.26-01-fix_..>2004-04-16 16:43 2.5K 
[TXT]linux-2.4.26-02-seek..>2004-04-16 16:43 3.8K 
[TXT]linux-2.4.26-03-acce..>2004-04-16 16:43 6.5K 
[TXT]linux-2.4.26-04-path..>2004-04-16 16:43 17K 
[TXT]linux-2.4.26-05-cto2..>2004-04-16 16:43 2.4K 
[TXT]linux-2.4.26-06-rdpl..>2004-04-16 16:43 17K 
[TXT]linux-2.4.26-07-sock..>2004-04-16 16:43 6.4K 
[TXT]linux-2.4.26-NFS_ALL..>2004-04-16 16:45 50K 

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