NFSv4.1: Remove the 'FIFO' behaviour for nfs41_setup_sequence
It is more important to preserve the task priority behaviour, which ensures
that things like reclaim writes take precedence over background and kupdate
writes.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 87525eb..4b1635c 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -379,12 +379,6 @@
#if defined(CONFIG_NFS_V4_1)
-bool nfs4_set_task_privileged(struct rpc_task *task, void *dummy)
-{
- rpc_task_set_priority(task, RPC_PRIORITY_PRIVILEGED);
- return true;
-}
-
static void nfs41_sequence_free_slot(struct nfs4_sequence_res *res)
{
struct nfs4_session *session;
@@ -412,8 +406,7 @@
if (tbl->highest_used_slotid != NFS4_NO_SLOT)
send_new_highest_used_slotid = false;
if (!nfs4_session_draining(session)) {
- if (rpc_wake_up_first(&tbl->slot_tbl_waitq,
- nfs4_set_task_privileged, NULL) != NULL)
+ if (rpc_wake_up_next(&tbl->slot_tbl_waitq) != NULL)
send_new_highest_used_slotid = false;
}
spin_unlock(&tbl->slot_tbl_lock);
@@ -527,12 +520,6 @@
goto out_sleep;
}
- if (!rpc_queue_empty(&tbl->slot_tbl_waitq) &&
- !rpc_task_has_priority(task, RPC_PRIORITY_PRIVILEGED)) {
- dprintk("%s enforce FIFO order\n", __func__);
- goto out_sleep;
- }
-
slot = nfs4_alloc_slot(tbl);
if (IS_ERR(slot)) {
/* If out of memory, try again in 1/4 second */