Re: Looping on ERR_OLD_STATEID on LOCK

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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�����٥




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux