From: Trond Myklebust <Trond.Myklebust@netapp.com>
Date: Thu, 1 Nov 2012 20:44:05 +0000 (-0400)
Subject: NFSv4.1: Don't mess with task priorities in nfs41_setup_sequence
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=1e1093c7fd4951bb4272212c238d09cd7a22f5fc;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

NFSv4.1: Don't mess with task priorities in nfs41_setup_sequence

We want to preserve the rpc_task priority for things like writebacks,
that may have differing levels of urgency.

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

diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 7f8b42781338..99d99a5a3f61 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -536,8 +536,6 @@ int nfs41_setup_sequence(struct nfs4_session *session,
 	}
 	spin_unlock(&tbl->slot_tbl_lock);
 
-	rpc_task_set_priority(task, RPC_PRIORITY_NORMAL);
-
 	args->sa_slot = slot;
 
 	dprintk("<-- %s slotid=%d seqid=%d\n", __func__,
@@ -556,8 +554,10 @@ out_success:
 out_sleep:
 	/* Privileged tasks are queued with top priority */
 	if (args->sa_privileged)
-		rpc_task_set_priority(task, RPC_PRIORITY_PRIVILEGED);
-	rpc_sleep_on(&tbl->slot_tbl_waitq, task, NULL);
+		rpc_sleep_on_priority(&tbl->slot_tbl_waitq, task,
+				NULL, RPC_PRIORITY_PRIVILEGED);
+	else
+		rpc_sleep_on(&tbl->slot_tbl_waitq, task, NULL);
 	spin_unlock(&tbl->slot_tbl_lock);
 	return -EAGAIN;
 }
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
index 85290266bea0..1aefc9fef866 100644
--- a/net/sunrpc/sched.c
+++ b/net/sunrpc/sched.c
@@ -379,6 +379,7 @@ void rpc_sleep_on_priority(struct rpc_wait_queue *q, struct rpc_task *task,
 	__rpc_sleep_on_priority(q, task, action, priority - RPC_PRIORITY_LOW);
 	spin_unlock_bh(&q->lock);
 }
+EXPORT_SYMBOL_GPL(rpc_sleep_on_priority);
 
 /**
  * __rpc_do_wake_up_task - wake up a single rpc_task