Since we can now use a lock stateid or a delegation stateid, that
differs from the context stateid, we need to change the test in
nfs4_layoutget_handle_exception() to take this into account.
This fixes an infinite layoutget loop in the NFS client whereby
it keeps retrying the initial layoutget using the same broken
stateid.
Fixes: 70d2f7b1ea19b ("pNFS: Use the standard I/O stateid when...")
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
|
||
|---|---|---|
| .. | ||
| blocklayout | ||
| filelayout | ||
| flexfilelayout | ||
| cache_lib.c | ||
| cache_lib.h | ||
| callback_proc.c | ||
| callback_xdr.c | ||
| callback.c | ||
| callback.h | ||
| client.c | ||
| delegation.c | ||
| delegation.h | ||
| dir.c | ||
| direct.c | ||
| dns_resolve.c | ||
| dns_resolve.h | ||
| export.c | ||
| file.c | ||
| fscache-index.c | ||
| fscache.c | ||
| fscache.h | ||
| getroot.c | ||
| inode.c | ||
| internal.h | ||
| io.c | ||
| iostat.h | ||
| Kconfig | ||
| Makefile | ||
| mount_clnt.c | ||
| namespace.c | ||
| netns.h | ||
| nfs2super.c | ||
| nfs2xdr.c | ||
| nfs3_fs.h | ||
| nfs3acl.c | ||
| nfs3client.c | ||
| nfs3proc.c | ||
| nfs3super.c | ||
| nfs3xdr.c | ||
| nfs4_fs.h | ||
| nfs4client.c | ||
| nfs4file.c | ||
| nfs4getroot.c | ||
| nfs4idmap.c | ||
| nfs4idmap.h | ||
| nfs4namespace.c | ||
| nfs4proc.c | ||
| nfs4renewd.c | ||
| nfs4session.c | ||
| nfs4session.h | ||
| nfs4state.c | ||
| nfs4super.c | ||
| nfs4sysctl.c | ||
| nfs4trace.c | ||
| nfs4trace.h | ||
| nfs4xdr.c | ||
| nfs42.h | ||
| nfs42proc.c | ||
| nfs42xdr.c | ||
| nfs.h | ||
| nfsroot.c | ||
| nfstrace.c | ||
| nfstrace.h | ||
| pagelist.c | ||
| pnfs_dev.c | ||
| pnfs_nfs.c | ||
| pnfs.c | ||
| pnfs.h | ||
| proc.c | ||
| read.c | ||
| super.c | ||
| symlink.c | ||
| sysctl.c | ||
| unlink.c | ||
| write.c | ||