Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
* 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFSv4: Fix a regression in the NFSv4 state manager NFSv4: Release the sequence id before restarting a CLOSE rpc call nfs41: fix session fore channel negotiation nfs41: do not zero seqid portion of stateid on close nfs: run state manager in privileged mode nfs: make recovery state manager operations privileged nfs: enforce FIFO ordering of operations trying to acquire slot rpc: add a new priority in RPC task nfs: remove rpc_task argument from nfs4_find_slot rpc: add rpc_queue_empty function nfs: change nfs4_do_setlk params to identify recovery type nfs: do not do a LOOKUP after open nfs: minor cleanup of session draining
This commit is contained in:
@@ -173,7 +173,8 @@ struct rpc_task_setup {
|
||||
#define RPC_PRIORITY_LOW (-1)
|
||||
#define RPC_PRIORITY_NORMAL (0)
|
||||
#define RPC_PRIORITY_HIGH (1)
|
||||
#define RPC_NR_PRIORITY (1 + RPC_PRIORITY_HIGH - RPC_PRIORITY_LOW)
|
||||
#define RPC_PRIORITY_PRIVILEGED (2)
|
||||
#define RPC_NR_PRIORITY (1 + RPC_PRIORITY_PRIVILEGED - RPC_PRIORITY_LOW)
|
||||
|
||||
struct rpc_timer {
|
||||
struct timer_list timer;
|
||||
@@ -229,6 +230,7 @@ void rpc_wake_up_queued_task(struct rpc_wait_queue *,
|
||||
void rpc_wake_up(struct rpc_wait_queue *);
|
||||
struct rpc_task *rpc_wake_up_next(struct rpc_wait_queue *);
|
||||
void rpc_wake_up_status(struct rpc_wait_queue *, int);
|
||||
int rpc_queue_empty(struct rpc_wait_queue *);
|
||||
void rpc_delay(struct rpc_task *, unsigned long);
|
||||
void * rpc_malloc(struct rpc_task *, size_t);
|
||||
void rpc_free(void *);
|
||||
@@ -254,6 +256,16 @@ static inline int rpc_wait_for_completion_task(struct rpc_task *task)
|
||||
return __rpc_wait_for_completion_task(task, NULL);
|
||||
}
|
||||
|
||||
static inline void rpc_task_set_priority(struct rpc_task *task, unsigned char prio)
|
||||
{
|
||||
task->tk_priority = prio - RPC_PRIORITY_LOW;
|
||||
}
|
||||
|
||||
static inline int rpc_task_has_priority(struct rpc_task *task, unsigned char prio)
|
||||
{
|
||||
return (task->tk_priority + RPC_PRIORITY_LOW == prio);
|
||||
}
|
||||
|
||||
#ifdef RPC_DEBUG
|
||||
static inline const char * rpc_qname(struct rpc_wait_queue *q)
|
||||
{
|
||||
|
Reference in New Issue
Block a user