The rpc server does not require that service threads take the BKL.
authorJ. Bruce Fields <bfields@citi.umich.edu>
Thu, 3 Dec 2009 20:58:33 +0000 (15:58 -0500)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Thu, 3 Dec 2009 20:58:33 +0000 (15:58 -0500)
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/callback.c

index 293fa05..e66ec5d 100644 (file)
@@ -78,11 +78,6 @@ nfs4_callback_svc(void *vrqstp)
 
        set_freezable();
 
-       /*
-        * FIXME: do we really need to run this under the BKL? If so, please
-        * add a comment about what it's intended to protect.
-        */
-       lock_kernel();
        while (!kthread_should_stop()) {
                /*
                 * Listen for a request on the socket
@@ -104,7 +99,6 @@ nfs4_callback_svc(void *vrqstp)
                preverr = err;
                svc_process(rqstp);
        }
-       unlock_kernel();
        return 0;
 }
 
@@ -160,11 +154,6 @@ nfs41_callback_svc(void *vrqstp)
 
        set_freezable();
 
-       /*
-        * FIXME: do we really need to run this under the BKL? If so, please
-        * add a comment about what it's intended to protect.
-        */
-       lock_kernel();
        while (!kthread_should_stop()) {
                prepare_to_wait(&serv->sv_cb_waitq, &wq, TASK_INTERRUPTIBLE);
                spin_lock_bh(&serv->sv_cb_lock);
@@ -183,7 +172,6 @@ nfs41_callback_svc(void *vrqstp)
                }
                finish_wait(&serv->sv_cb_waitq, &wq);
        }
-       unlock_kernel();
        return 0;
 }