]> git.baikalelectronics.ru Git - kernel.git/commit
Recover from stateid-type error on SETATTR
authorOlga Kornievskaia <kolga@netapp.com>
Fri, 12 Jun 2015 20:53:30 +0000 (16:53 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Tue, 16 Jun 2015 15:29:46 +0000 (11:29 -0400)
commit843e2251cb6a193e5a594a3a503f7f9e79f24e2b
tree52689843929c12b2e1079af16e82311ccfd08b93
parent5b80b841ebf17c3b307aeb5b39cb6e6bfc8419af
Recover from stateid-type error on SETATTR

Client can receives stateid-type error (eg., BAD_STATEID) on SETATTR when
delegation stateid was used. When no open state exists, in case of application
calling truncate() on the file, client has no state to recover and fails with
EIO.

Instead, upon such error, return the bad delegation and then resend the
SETATTR with a zero stateid.

Signed-off: Olga Kornievskaia <kolga@netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/nfs4proc.c