• Trond Myklebust's avatar
    NFSv4: nfs4_do_open() is incorrectly triggering state recovery · 04602539
    Trond Myklebust authored
    We're seeing spurious calls to nfs4_schedule_stateid_recovery() from
    nfs4_do_open() in situations where there is no trigger coming from the
    server.
    In theory the code path being triggered is supposed to notice that state
    recovery happened while we were processing the open call result from the
    server, before the open stateid is published. However in the years since
    that code was added, we've also added the 'session draining' mechanism,
    which ensures that the state recovery will wait until all the session
    slots have been returned. In nfs4_do_open() the session slot is only
    returned on exit of the function, so we don't need the legacy mechanism.
    Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
    04602539
nfs4state.c 72.8 KB