NFS client patches for Linux 2.6.3

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

linux-2.6.3-01-attr.dif:

NFSv2/v3/v4: New attribute revalidation code that no longer relies on ctime for correctness in avoiding races.

linux-2.6.3-02-strategy.dif:

NFSv2/v3/v4: New file writeout strategy. Defer writes until a flush is requested by the application (or memory pressure).

linux-2.6.3-03-fix_kconfig.dif:

Configuration: simplify configuration options. Automatically select RPCSEC_GSS if NFSv4 is selected. Remove need for user to select SUNRPC_GSS, and the crypto options.

linux-2.6.3-04-getroot.dif:

NFSv2/v3: Ensure that we only use GETATTR+STATFS (NFSv2) and FSINFO (NFSv3) when mounting. This should hopefully fix the problem of RPCSEC_GSS credentials when mounting.

linux-2.6.3-05-msync.dif:

NFSv2/v3/v4: Ensure that fsync() flushes all writebacks to disk rather than just the ones labelled as belonging to our file. This fixes a bug whereby msync() will fail to flush pages to disk.

linux-2.6.3-06-fix_oops.dif:

NFSv2/v3/v4: A patch by Greg Banks that fixes the "VFS: Busy inodes after unmount." problem.

linux-2.6.3-07-XID.dif:

RPC: Make XIDs unique on a per-transport basis rather than globally unique. Gets rid of an unnecessary global spinlock.

linux-2.6.3-08-rpc_fixes.dif:

RPC: Sync rpc_set_timeo() up to the 2.4.x version. In particular, this will ensure that the timeout shift is clamped to a maximum value of 8.

RPC: Fix by Olaf Kirch to the rpc scheduler to ensure sync tasks respect the "intr" mount flag.

linux-2.6.3-09-reconnect.dif:

RPC: Ensure that we have the correct capabilities when binding a socket to a reserved port. Fixes a privilege bug when CONFIG_SECURITY is set.

linux-2.6.3-10-create_client.dif:

RPC,NFSv2/v3/v4: Ensure that xprt_create_proto() and rpc_create_client() return full error codes. Should allow "mount" to print more useful error diagnostics.

NFSroot: Also includes a bugfix to NFSroot "mount" program to cause it to use AUTH_UNIX instead of AUTH_NULL for authentication.

linux-2.6.3-11-misc.dif:

NFSv2/v3/v4: Parenthesize #defines in nfs?xdr.c. Fix an off-by-one error on the value of compound_decode_hdr_maxsz

NFSv4: fix a printk() typo (spotted by Linda Dunaphant).

NFSv4: Ensure that nfs4_open_reclaim() copies the value of the new stateid back into the shared nfsv4 state structure.

NFSv4: Don't leak NFS4ERR_WRONGSEC errors back into nfs_lookup().

RPC,NFS,Lockd: Mark the debugging code as "unlikely" so that gcc moves it out of the mainline code paths.

linux-2.6.3-12-lockd1.dif:

NFSv2/v3 locking: Patch by Patrice Dumas to implement nlmsvc_proc_granted_res. When a server receives that callback it should deallocate the corresponding blocked lock using the nlmsvc_grant_reply function.

linux-2.6.3-13-lockd2.dif:

NFSv2/v3 locking: Patch by Patrice Dumas that adds a check to ensure we really were requesting a blocking lock when we get a reply from the server asking us to block.

linux-2.6.3-14-lockd3.dif:

NFSv2/v3 locking: Patch by Patrice Dumas to ensure that the server index blocks uniquely by using the client address in addition to the value of the NLM cookie field.

linux-2.6.3-15-lockd4.dif:

A patch to ensure that blocks which are not going to time out are placed last on the ordered list nlm_block (problem reported by Olaf Kirch).

linux-2.6.3-16-memset.dif:

RPC,NFSv3: remove the redundant "memset()" in call_encode(). Fix up the only places where this causes a padding error: xdr_encode_fhandle() and unx_marshal()

linux-2.6.3-17-rpc-slot-table.dif:

RPC: patch by Chuck Lever to make the number of RPC slots a tunable parameter. Increase the default number of slots when using TCP mounts from 16 to 64.

linux-2.6.3-18-nfs2_read.dif:

NFSv2: Fix up NFSv2 reads so that they report when the server returned a short read due to EOF.

linux-2.6.3-19-prepare_nfspage.dif:

NFSv2/v3/v4: Prepare the nfs_page struct to allow for short reads.

linux-2.6.3-20-small_rsize.dif:

NFSv2/v3/v4: Add support for asynchronous reads even if rsize<PAGE_CACHE_SIZE.

linux-2.6.3-21-small_wsize.dif:

NFSv2/v3/v4: Add support for asynchronous writes even if wsize<PAGE_CACHE_SIZE.

linux-2.6.3-22-congestion.dif:

NFSv2/v3/v4: When pdflush() is trying to free up memory by calling our writepages() method, throttle all writes to that mountpoint.

NFSv2/v3/v4: Make the struct nfs_page allocator use GFP_KERNEL rather than GFP_NOFS.

linux-2.6.3-23-unrace.dif:

RPC,NFS: remove instances of tests for waitqueue_active(). Those can be racy.

RPC: remove unnecessary support for sk->sk_sleep on those sockets that are owned by the RPC client.

linux-2.6.3-NFS4_ALL.dif:

All of the above patches rolled into one.


Return to main menu

Please address all comments about this page to Trond Myklebust
About Trond
Last modified: Mon Jan 05 14:33:10 EST 2004
[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory   -  
[TXT]linux-2.6.3-01-attr.dif2004-03-06 04:07 56K 
[TXT]linux-2.6.3-02-strat..>2004-03-06 07:21 6.8K 
[TXT]linux-2.6.3-03-fix_k..>2004-02-08 13:57 2.4K 
[TXT]linux-2.6.3-04-getro..>2004-02-20 17:31 11K 
[TXT]linux-2.6.3-05-msync..>2004-02-27 22:17 11K 
[TXT]linux-2.6.3-06-fix_o..>2004-02-14 20:40 646  
[TXT]linux-2.6.3-07-XID.dif 2004-02-15 10:22 2.5K 
[TXT]linux-2.6.3-08-rpc_f..>2004-02-28 03:21 2.8K 
[TXT]linux-2.6.3-09-recon..>2004-02-27 21:39 8.7K 
[TXT]linux-2.6.3-10-creat..>2004-02-20 04:53 12K 
[TXT]linux-2.6.3-11-misc.dif2004-03-09 04:08 32K 
[TXT]linux-2.6.3-12-lockd..>2004-02-20 05:31 4.0K 
[TXT]linux-2.6.3-13-lockd..>2004-02-20 05:31 668  
[TXT]linux-2.6.3-14-lockd..>2004-02-20 05:32 4.7K 
[TXT]linux-2.6.3-15-lockd..>2004-02-20 05:32 688  
[TXT]linux-2.6.3-16-memse..>2004-02-25 17:15 4.3K 
[TXT]linux-2.6.3-17-rpc-s..>2004-02-29 21:18 11K 
[TXT]linux-2.6.3-18-nfs2_..>2004-02-28 16:59 2.1K 
[TXT]linux-2.6.3-19-prepa..>2004-03-01 02:28 4.5K 
[TXT]linux-2.6.3-20-small..>2004-03-22 14:51 23K 
[TXT]linux-2.6.3-21-small..>2004-03-22 14:51 27K 
[TXT]linux-2.6.3-22-conge..>2004-03-08 23:37 5.2K 
[TXT]linux-2.6.3-23-unrac..>2004-03-01 22:55 3.2K 
[TXT]linux-2.6.3-NFS4_ALL..>2004-03-06 04:26 201K 

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