On Tue, 2018-02-27 at 12:09 -0500, Olga Kornievskaia wrote: > Hi folks, > > I'd like to understand why nfs4_do_handle_exception() for > ERR_OLD_STATEID just retries the operation. What happens is that the > client resends that same operation with the same stateid over to the > server and gets the same ERR_OLD_STATEID back which puts the client > in > an infinite loop (and a hung state). > > Shouldn't the client instead treat ERR_OLD_STATEID same as > ERR_BAD_STATEID? No, NFS4ERR_OLD_STATEID is almost always due to a race between an incoming RPC reply and outgoing RPC call. It's when the server bumps the state, and the client happens not to know about it yet. IOW: We definitely do not want to treat it as a permanent error. -- Trond Myklebust Linux NFS client maintainer, PrimaryData trond.myklebust@xxxxxxxxxxxxxxx ��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥