NFS client patches for Linux 2.6.26-rc2

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

linux-2.6.26-001-fix_noac.dif:

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

Date: Mon, 5 May 2008 11:45:41 -0400

NFS: Ensure that 'noac' and/or 'actimeo=0' turn off attribute caching

Both the 'noac' and 'actimeo=0' mount options should ensure that attributes are not cached, however a bug in nfs_attribute_timeout() means that currently, the attributes may in fact get cached for up to one jiffy. This has been seen to cause corruption in some applications.

The reason for the bug is that the time_in_range() test returns 'true' as long as the current time lies between nfsi->read_cache_jiffies and nfsi->read_cache_jiffies + nfsi->attrtimeo. In other words, if jiffies equals nfsi->read_cache_jiffies, then we still cache the attribute data.

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

linux-2.6.26-002-fix_race_in_nfs_dirty_request.dif:

From: Fred Isaman <iisaman@citi.umich.edu>

Date: Thu, 1 May 2008 20:03:22 +0300

nfs: fix race in nfs_dirty_request

When called from nfs_flush_incompatible, the req is not locked, so req->wb_page might be set to NULL before it is used by PageWriteback.

Signed-off-by: Fred Isaman <iisaman@citi.umich.edu>

Signed-off-by: Benny Halevy <bhalevy@panasas.com>

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

linux-2.6.26-003-fix_oopses_in_nfs_callback_xdr.dif:

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

Date: Tue, 6 May 2008 13:32:40 -0400

NFSv4: Check the return value of decode_compound_hdr_arg()

If decode_compound_hdr_arg() returns a resource error, then we cannot proceed to process the callback. Return a 'GARBAGE_ARGS' rpc-level error to the caller instead. If, however, the minor version field is incorrect, then we need to propagate the resulting NFS4ERR_MINOR_VERS_MISMATCH error back as the compound status field (setting the nops field to 0).

Finally, if encode_compound_hdr_res() returns an error, we need to return an RPC_SYSTEM_ERR to the caller.

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

linux-2.6.26-004-nfs_lsm_make_nfsv4_set_lsm_mount_options.dif:

From: Eric Paris <eparis@redhat.com>

Date: Fri, 02 May 2008 13:42:42 -0700

nfs/lsm: make NFSv4 set LSM mount options

NFSv3 get_sb operations call into the LSM layer to set security options passed from userspace. NFSv4 hooks were not originally added since it was reasonably late in the merge window and NFSv3 was the only thing that had regressed (v4 has never supported any LSM options)

This patch makes NFSv4 call into the LSM to set security options rather than just blindly dropping them with no notice to the user as happens today. This patch was tested in a simple NFSv4 environment with the context= option and appeared to work as expected.

Signed-off-by: Eric Paris <eparis@redhat.com> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Cc: "J. Bruce Fields" <bfields@fieldses.org> Cc: Stephen Smalley <sds@tycho.nsa.gov>

Acked-by: James Morris <jmorris@namei.org> Cc: Casey Schaufler <casey@schaufler-ca.com>

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

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

linux-2.6.26-005-replace_remaining_function_occurrences.dif:

From: Harvey Harrison <harvey.harrison@gmail.com>

Date: Fri, 02 May 2008 13:42:44 -0700

nfs: replace remaining __FUNCTION__ occurrences

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Cc: "J. Bruce Fields" <bfields@fieldses.org>

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

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

linux-2.6.26-006-path_get_put_cleanups.dif:

From: Jan Blunck <jblunck@suse.de>

Date: Fri, 02 May 2008 13:42:45 -0700

nfs: path_{get,put}() cleanups

Here are some more places where path_{get,put}() can be used instead of dput()/mntput() pair.

Signed-off-by: Jan Blunck <jblunck@suse.de> Cc: Trond Myklebust <trond.myklebust@fys.uio.no> Cc: "J. Bruce Fields" <bfields@fieldses.org>

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

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

linux-2.6.26-007-make_nfs4_drop_state_owner_static.dif:

From: Adrian Bunk <bunk@kernel.org>

Date: Fri, 02 May 2008 13:42:45 -0700

nfs: make nfs4_drop_state_owner() static

nfs4_drop_state_owner() can now become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

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

linux-2.6.26-008-nfs_fix_setclientid.dif:

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

Date: Sun, 11 May 2008 12:18:51 -0700

SUNRPC: AUTH_SYS "machine creds" can't use 'nobody' uid/gid

Apparently this breaks NFSv4 SETCLIENTID calls to Solaris 10 servers.

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

linux-2.6.26-009-fix_nfsv2_locking_64_bit.dif:

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

Date: Wed, 14 May 2008 11:14:37 -0700

NLM/lockd: Fix NFSv2 locking on 64-bit systems

Propagate an EINVAL error back to the user if they attempt to use 64-bit locking on NFSv2: currently we fail the Connectathon locking tests because the locking code propagates EIO instead.

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

linux-2.6.26-010-exit_on_encode_error.dif:

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

Date: Wed, 14 May 2008 19:48:25 -0700

SUNRPC: Ensure we exit early in case of an encode error

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

linux-2.6.26-011-clean_up_task_locking.dif:

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

Date: Sat, 19 Apr 2008 18:41:49 -0400

SUNRPC: Fix a task locking race...

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

linux-2.6.26-012-cleanup_rpc_task.dif:

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

Date: Thu, 17 Apr 2008 16:38:41 -0400

SUNRPC: Clean up struct rpc_task...

Move tk_rtt and tk_bytes_sent into struct rpc_rqst, since they are really transport-related variables

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

linux-2.6.26-013-gss_triple_to_pseudoflavor.dif:

From: Andy Adamson <andros@umich.edu>

Date: Fri, 18 May 2007 16:52:39 -0400

SUNRPC: Add a helper function to convert a GSS triple into pseudoflavor

Helper function for OP_SECINFO. Return the pseudoflavor for a supported security mechanism OID, qop, and service. Return RPC_AUTH_MAXFLAVOR upon failure.

Signed-off-by: Andy Adamson <andros@citi.umich.edu>

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

linux-2.6.26-014-nfs_secinfo_xdr.dif:

From: Andy Adamson <andros@umich.edu>

Date: Fri, 18 May 2007 16:52:40 -0400

NFSv4: Add the NFS SECINFO xdr encode/decode routines

Encode and decode routines for OP_SECINFO. Decode routine saves an orderd list of up to NFS4_SECINFO_MAXFLAVORS server supplied pseudoflavors supported on the client.

Signed-off-by: Andy Adamson <andros@citi.umich.edu>

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

linux-2.6.26-015-nfs_secinfo_proc.dif:

From: Andy Adamson <andros@umich.edu>

Date: Fri, 18 May 2007 16:52:44 -0400

NFSv4: Add the NFS SECINFO proc

Place the secinfo call on the wire

Signed-off-by: Andy Adamson <andros@citi.umich.edu>

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

linux-2.6.26-016-debug.dif:

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

Date: Wed, 16 Apr 2008 17:04:43 -0400

Debugging patch. Do _not_ merge

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

linux-2.6.26-017-add_rpc_drain_client.dif:

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

Date: Thu, 10 Apr 2008 17:55:48 -0400

SUNRPC: Add a helper rpc_drain_client()

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

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory   -  
[TXT]linux-2.6.26-001-fix..>2008-05-11 19:19 1.4K 
[TXT]linux-2.6.26-002-fix..>2008-05-11 19:19 884  
[TXT]linux-2.6.26-003-fix..>2008-05-11 19:19 2.3K 
[TXT]linux-2.6.26-004-nfs..>2008-05-11 19:19 2.2K 
[TXT]linux-2.6.26-005-rep..>2008-05-11 19:19 40K 
[TXT]linux-2.6.26-006-pat..>2008-05-11 19:19 2.1K 
[TXT]linux-2.6.26-007-mak..>2008-05-11 19:19 1.4K 
[TXT]linux-2.6.26-008-nfs..>2008-05-11 19:19 1.1K 
[TXT]linux-2.6.26-009-fix..>2008-05-15 05:45 7.7K 
[TXT]linux-2.6.26-010-exi..>2008-05-15 05:45 1.0K 
[TXT]linux-2.6.26-011-cle..>2008-04-19 22:42 2.7K 
[TXT]linux-2.6.26-012-cle..>2008-05-11 19:19 3.5K 
[TXT]linux-2.6.26-013-gss..>2008-04-08 20:53 2.3K 
[TXT]linux-2.6.26-014-nfs..>2008-05-11 19:19 6.3K 
[TXT]linux-2.6.26-015-nfs..>2008-05-11 19:19 1.5K 
[TXT]linux-2.6.26-016-deb..>2008-05-15 05:45 7.9K 
[TXT]linux-2.6.26-017-add..>2008-05-15 05:45 1.0K 
[   ]series 2008-05-15 05:45 832  

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