Messages in this thread | | | From | Trond Myklebust <> | Subject | Re: [PATCH] NFS: Retry the CLOSE if the embedded GETATTR is rejected with ERR_STALE | Date | Wed, 18 Nov 2020 03:17:20 +0000 |
| |
On Wed, 2020-11-18 at 00:24 +0000, Anchal Agarwal wrote: > If our CLOSE RPC call is rejected with an ERR_STALE error, then we > should remove the GETATTR call from the compound RPC and retry. > This could happen in a scenario where two clients tries to access > the same file. One client opens the file and the other client removes > the file while it's opened by first client. When the first client > attempts to close the file the server returns ESTALE and the file > ends > up being leaked on the server. This depends on how nfs server is > configured and is not reproducible if running against nfsd.
That would be a seriously broken server. If you return NFS4ERR_STALE to the client, you cannot expect any further interaction with that file from the client. It won't try to send CLOSE or DELEGRETURN or any other stateful operation.
-- Trond Myklebust Linux NFS client maintainer, Hammerspace trond.myklebust@hammerspace.com
| |