On May 26, 2012, at 3:57 PM, "Myklebust, Trond" <Trond.Myklebust@xxxxxxxxxx> wrote: > On Sat, 2012-05-26 at 15:43 -0400, Chuck Lever wrote: >> On May 26, 2012, at 2:39 PM, Trond Myklebust wrote: >> >>> Ensure that we destroy our lease on last unmount >> >> So why aren't we using DESTROY_CLIENTID in nfs4_reset_all_state() ? > > They are different operations. > > In nfs4_reset_all_state we're declaring a client reboot: this means that > we want the server to release all old state associated with this client > id on the server because we're trying to establish a new client id. > > DESTROY_CLIENTID is there in order to destroy a client id that is no > longer in use. According to Section 2.4.2 of RFC5661 that means that it > "cannot be used if there are sessions associated with the client ID, or > state with an unexpired lease". In fact the server is required to reject > our DESTROY_CLIENTID call if it thinks we still hold state. > > So while we could possibly call DESTROY_CLIENTID after declaring the > client reboot (but what would be the point?), we can't use it as a > substitute for doing so in nfs4_reset_all_state... Thanks, that makes sense to me. > > -- > Trond Myklebust > Linux NFS client maintainer > > NetApp > Trond.Myklebust@xxxxxxxxxx > www.netapp.com > > N�����r��y���b�X��ǧv�^�){.n�+����{���"��^n�r��z���h����&���G���h�(�階�ݢj"���m�����z�ޖ���f���h���~�m� -- 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