linux/fs/nfs
Christoph Hellwig 47abadefad pnfs: avoid using stale stateids after layoutreturn
After we issued a layoutreturn operations the may free the layout stateid
and will thus cause bad stateid error when the client uses it again.

We currently try to avoid this case by chosing the open stateid if not
lsegs are present for this inode.  But various places can hold refererence
on lsegs and thus cause the list not to be empty shortly after a layout
return.  Add an explicit flag to mark the current layout stateid invalid
and force usage of the openstateid after we did a full file layoutreturn.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
2014-09-10 12:47:01 -07:00
..
blocklayout FS/NFS: replace count*size kzalloc by kcalloc 2014-06-25 19:02:14 -04:00
filelayout nfs/filelayout: set layoutcommit depending on write verifier 2014-09-10 12:47:01 -07:00
objlayout nfs: remove unused writeverf code 2014-06-24 18:47:00 -04:00
Kconfig
Makefile
cache_lib.c
cache_lib.h
callback.c nfs4: copy acceptor name from context to nfs_client 2014-07-12 18:41:25 -04:00
callback.h
callback_proc.c
callback_xdr.c
client.c nfs: fix kernel warning when removing proc entry 2014-09-08 16:41:36 -07:00
delegation.c nfs4: add nfs4_check_delegation 2014-07-12 18:22:58 -04:00
delegation.h nfs4: add nfs4_check_delegation 2014-07-12 18:22:58 -04:00
dir.c NFS: fix two problems in lookup_revalidate in RCU-walk 2014-08-04 09:22:08 -04:00
direct.c Merge branch 'bugfixes' into linux-next 2014-07-13 15:22:02 -04:00
dns_resolve.c
dns_resolve.h
file.c sched: Remove proliferation of wait_on_bit() action functions 2014-07-16 15:10:39 +02:00
fscache-index.c
fscache.c
fscache.h
getroot.c dcache: d_obtain_alias callers don't all want DISCONNECTED 2014-08-07 14:40:10 -04:00
idmap.c Merge branch 'keys-fixes' into keys-next 2014-07-22 21:55:45 +01:00
inode.c NFS client updates for Linux 3.17 2014-08-13 18:13:19 -06:00
internal.h NFS client updates for Linux 3.17 2014-08-13 18:13:19 -06:00
iostat.h
mount_clnt.c
namespace.c
netns.h NFS: Fix /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes 2014-08-04 09:28:32 -07:00
nfs.h
nfs2super.c
nfs2xdr.c
nfs3acl.c NFSv3: Fix another acl regression 2014-08-26 16:17:48 -04:00
nfs3client.c
nfs3proc.c Merge branch 'bugfixes' into linux-next 2014-07-13 15:22:02 -04:00
nfs3super.c
nfs3xdr.c
nfs4_fs.h nfs: revert "nfs4: queue free_lock_state job submission to nfsiod" 2014-09-08 17:00:32 -07:00
nfs4client.c nfsv4: set hostname when creating nfsv4 ds connection 2014-07-08 14:30:03 -04:00
nfs4file.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2014-06-12 10:30:18 -07:00
nfs4getroot.c
nfs4namespace.c NFSv4: test SECINFO RPC_AUTH_GSS pseudoflavors for support 2014-06-24 18:46:58 -04:00
nfs4proc.c pnfs: retry after a bad stateid error from layoutget 2014-09-10 12:47:01 -07:00
nfs4renewd.c
nfs4session.c
nfs4session.h
nfs4state.c nfs: revert "nfs4: queue free_lock_state job submission to nfsiod" 2014-09-08 17:00:32 -07:00
nfs4super.c
nfs4sysctl.c
nfs4trace.c
nfs4trace.h nfs: merge nfs_pgio_data into _header 2014-06-24 18:47:00 -04:00
nfs4xdr.c NFSv4: Drop cast 2014-07-12 18:43:47 -04:00
nfsroot.c
nfstrace.c
nfstrace.h
pagelist.c nfs: cap request size to fit a kmalloced page array 2014-09-10 12:47:01 -07:00
pnfs.c pnfs: avoid using stale stateids after layoutreturn 2014-09-10 12:47:01 -07:00
pnfs.h pnfs: avoid using stale stateids after layoutreturn 2014-09-10 12:47:01 -07:00
pnfs_dev.c
proc.c nfs: merge nfs_pgio_data into _header 2014-06-24 18:47:00 -04:00
read.c nfs: get rid of duplicate dprintk 2014-06-25 19:01:27 -04:00
super.c nfs: reject changes to resvport and sharecache during remount 2014-08-04 17:41:52 -04:00
symlink.c
sysctl.c
unlink.c
write.c nfs41: add a helper function to set layoutcommit after commit 2014-09-10 12:47:00 -07:00