• J. Bruce Fields's avatar
    nfs: don't atempt blocking locks on nfs reexports · f657f8ee
    J. Bruce Fields authored
    NFS implements blocking locks by blocking inside its lock method.  In
    the reexport case, this blocks the nfs server thread, which could lead
    to deadlocks since an nfs server thread might be required to unlock the
    conflicting lock.  It also causes a crash, since the nfs server thread
    assumes it can free the lock when its lm_notify lock callback is called.
    
    Ideal would be to make the nfs lock method return without blocking in
    this case, but for now it works just not to attempt blocking locks.  The
    difference is just that the original client will have to poll (as it
    does in the v4.0 case) instead of getting a callback when the lock's
    available.
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    Acked-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
    Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
    f657f8ee
export.c 4.54 KB