NFS client patches for Linux 2.6.25-rc2

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

linux-2.6.25-006-cleanup_rpc_run_timer.dif:

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

Date: Fri, 22 Feb 2008 15:09:26 -0500

SUNRPC: Clean up rpc_run_timer()

All RPC timeout callback functions are expected to wake the task up. We can enforce this by moving the wakeup back into rpc_run_timer.

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

linux-2.6.25-007-add_rpc_wake_up_queued_task.dif:

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

Date: Fri, 22 Feb 2008 15:46:41 -0500

SUNRPC: Add a new helper rpc_wake_up_queued_task()

In all cases where we currently use rpc_wake_up_task(), we almost always know on which waitqueue the rpc_task is actually sleeping. This will allows us to simplify the queue locking in a future patch.

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

linux-2.6.25-008-convert_users_of_rpc_wake_up_task.dif:

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

Date: Fri, 22 Feb 2008 16:34:12 -0500

SUNRPC: Convert users of rpc_wake_up_task to use rpc_wake_up_queued_task

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

linux-2.6.25-009-run_timeout_functions_as_callbacks.dif:

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

Date: Fri, 22 Feb 2008 16:34:17 -0500

SUNRPC: Run rpc timeout functions as callbacks instead of in softirqs

An audit of the current RPC timeout functions shows that they don't really ever need to run in the softirq context. As long as the softirq is able to signal that the wakeup is due to a timeout (which it can do by setting task->tk_status to -ETIMEDOUT) then the callback functions can just run as standard task->tk_callback functions (in the rpciod/process context).

The only possible border-line case would be xprt_timer() for the case of UDP, when the callback is used to reduce the size of the transport congestion window. In testing, however, the effect of moving that update to a callback would appear to be minor.

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

linux-2.6.25-010-add_dummy_destroy_wait_queue_fn.dif:

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

Date: Fri, 22 Feb 2008 17:06:55 -0500

SUNRPC: Add a (empty for the moment) destructor for rpc_wait_queues

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

linux-2.6.25-011-add_timers_to_wait_queues.dif:

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

Date: Wed, 18 Jul 2007 16:18:52 -0400

SUNRPC: Add a timer function to wait queues.

This is designed to replace the timeout timer in the individual rpc_tasks. By putting the timer function in the wait queue, we will eventually be able to reduce the total number of timers in use by the RPC subsystem.

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

linux-2.6.25-012-switch_tasks_to_use_queue_timers.dif:

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

Date: Fri, 22 Feb 2008 17:27:59 -0500

SUNRPC: Switch tasks to using the rpc_waitqueue's timer function

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

linux-2.6.25-013-eliminate_redundant_rpc_start_wakeup.dif:

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

Date: Mon, 25 Feb 2008 21:40:50 -0800

SUNRPC: Eliminate the now-redundant rpc_start_wakeup()

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

linux-2.6.25-014-ensure_we_read_all_available_tcp_data.dif:

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

Date: Mon, 25 Feb 2008 21:40:51 -0800

SUNRPC: Ensure that we read all available tcp data

Don't stop until we run out of data, or we hit an error.

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

linux-2.6.25-015-sunrpc_remove_rcu_free.dif:

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

Date: Mon, 25 Feb 2008 21:53:49 -0800

SUNRPC: Remove now-redundant RCU-safe rpc_task free path

Now that we've tightened up the locking rules for RPC queue wakeups, we can remove the RCU-safe kfree calls...

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

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory   -  
[TXT]linux-2.6.25-006-cle..>2008-02-26 05:56 4.0K 
[TXT]linux-2.6.25-007-add..>2008-02-26 05:56 7.2K 
[TXT]linux-2.6.25-008-con..>2008-02-26 05:56 4.0K 
[TXT]linux-2.6.25-009-run..>2008-02-26 05:56 12K 
[TXT]linux-2.6.25-010-add..>2008-02-26 05:56 4.7K 
[TXT]linux-2.6.25-011-add..>2008-02-26 05:56 5.0K 
[TXT]linux-2.6.25-012-swi..>2008-02-26 05:56 5.4K 
[TXT]linux-2.6.25-013-eli..>2008-02-26 05:56 1.9K 
[TXT]linux-2.6.25-014-ens..>2008-02-26 05:56 1.1K 
[TXT]linux-2.6.25-015-sun..>2008-02-26 05:56 6.3K 
[   ]series 2008-02-26 05:56 595  

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