• T
    NFS: Fix a deadlock with lazy umount · 383ba719
    Trond Myklebust 提交于
    We can't allow rpc callback functions like task->tk_ops->rpc_call_prepare()
    and task->tk_ops->rpc_call_done() to call mntput() in any way, since
    that will cause a deadlock when the call to rpc_shutdown_client() attempts
    to wait on 'task' to complete.
    
    We can avoid the above deadlock by moving calls to mntput to
    task->tk_ops->rpc_release() callback, since at that time the task will be
    marked as completed, and so rpc_shutdown_client won't attempt to wait on
    it.
    Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
    383ba719
read.c 15.3 KB