vserver 2.0 rc7
[linux-2.6.git] / net / sunrpc / sched.c
index be26e4c..c06614d 100644 (file)
@@ -132,9 +132,11 @@ __rpc_add_timer(struct rpc_task *task, rpc_action timer)
  * Delete any timer for the current task. Because we use del_timer_sync(),
  * this function should never be called while holding queue->lock.
  */
-static inline void
+static void
 rpc_delete_timer(struct rpc_task *task)
 {
+       if (RPC_IS_QUEUED(task))
+               return;
        if (test_and_clear_bit(RPC_TASK_HAS_TIMER, &task->tk_runstate)) {
                del_singleshot_timer_sync(&task->tk_timer);
                dprintk("RPC: %4d deleting timer\n", task->tk_pid);
@@ -747,13 +749,10 @@ void rpc_init_task(struct rpc_task *task, struct rpc_clnt *clnt, rpc_action call
        task->tk_client = clnt;
        task->tk_flags  = flags;
        task->tk_exit   = callback;
-       if (current->uid != current->fsuid || current->gid != current->fsgid)
-               task->tk_flags |= RPC_TASK_SETUID;
 
        /* Initialize retry counters */
        task->tk_garb_retry = 2;
        task->tk_cred_retry = 2;
-       task->tk_suid_retry = 1;
 
        task->tk_priority = RPC_PRIORITY_NORMAL;
        task->tk_cookie = (unsigned long)current;