On Mon, 2009-12-07 at 00:21 -0800, Ricardo Labiaga wrote: > nfs4_state_end_reclaim_reboot() can also be invoked as a > result of error processing, so it is not a safe place to > invoke RECLAIM_COMPLETE. Instead, create a new state > flag that tracks the fact that a RECLAIM_COMPLETE needs > to be issued when all state has been reclaimed, or when > we're done establishing the session for the first time. > > If an error occurs in the main state manager loop, just clear the > flag. No sense in checking if the flag is set in order to clear it. > We're not going to issue the RECLAIM_COMPLETE since there's a high > probability that we had some kind of communication or session problem > which is s how we ended up in the error case. This patch looks wrong for two reasons. 1. We only want to call RECLAIM_COMPLETE if we saw a STALE_CLIENTID error prior to the last attempt to re-establish the client id. 2. We have to call it before we can start the no-grace reclaims. Looking at the code, I'm not convinced that we need a separate 'RECLAIM_COMPLETE_PENDING' state. It should be pretty much identical to the existing NFS4CLNT_RECLAIM_REBOOT state. The only difference is that in the NFSv4.1 case we want to be able to call RECLAIM_COMPLETE even in the case where we have no state to reclaim. Cheers Trond -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html