• Jeff Layton's avatar
    nfsd: Add reference counting to state owners · 6b180f0b
    Jeff Layton authored
    The way stateowners are managed today is somewhat awkward. They need to
    be explicitly destroyed, even though the stateids reference them. This
    will be particularly problematic when we remove the client_mutex.
    
    We may create a new stateowner and attempt to open a file or set a lock,
    and have that fail. In the meantime, another RPC may come in that uses
    that same stateowner and succeed. We can't have the first task tearing
    down the stateowner in that situation.
    
    To fix this, we need to change how stateowners are tracked altogether.
    Refcount them and only destroy them once all stateids that reference
    them have been destroyed. This patch starts by adding the refcounting
    necessary to do that.
    Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
    Signed-off-by: default avatarJeff Layton <jlayton@primarydata.com>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    6b180f0b
nfs4state.c 152 KB