Thread (3 messages) 3 messages, 2 authors, 2023-02-14

Re: [PATCH] NFS: avoid infinite NFS4ERR_OLD_STATEID loops

From: Trond Myklebust <trondmy@kernel.org>
Date: 2023-02-14 02:57:11

On Tue, 2023-02-14 at 09:57 +1100, NeilBrown wrote:
Linux-NFS responds to NFS4ERR_OLD_STATEID by simply retrying the
request, hoping to make use of an updated stateid that might have
arrived from the server.  This is usually successful.

However if the client and server get out-of-sync for some reason and
if
there is no new stateid to try, this can result in an indefinite loop
which looks a bit like a DoS attack.

This can particularly happen when a server replies with success to an
OPEN request, but fails a subsequent GETATTR.  This has been observed
with Netapp and Hitachi servers when a concurrent unlink from a
different client removes the file between the OPEN and the GETATTR. 
The
GETATTR returns NFS4ERR_STALE.
Then they are both badly broken servers, and people should complain to
NetApp and Hitachi. We're still not fixing their server bugs in the
Linux client.

NACK...
-- 
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@hammerspace.com

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help