1
0
Fork 0
alistair23-linux/fs/nfsd
Kinglong Mee 2336745e87 NFSD: Clear wcc data between compound ops
Testing NFS4.0 by pynfs, I got some messeages as,
"nfsd: inode locked twice during operation."

When one compound RPC contains two or more ops that locks
the filehandle,the second op will cause the message.

As two SETATTR ops, after the first SETATTR, nfsd will not call
fh_put() to release current filehandle, it means filehandle have
unlocked with fh_post_saved = 1.
The second SETATTR find fh_post_saved = 1, and printk the message.

v2: introduce helper fh_clear_wcc().

Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2014-03-30 10:47:34 -04:00
..
Kconfig nfsd: fix Kconfig syntax 2013-10-26 15:37:26 -04:00
Makefile NFSD: Added fault injection 2011-11-07 21:10:47 -05:00
acl.h nfsd4: use more generous NFS4_ACL_MAX 2014-03-28 21:24:53 -04:00
auth.c nfsd: Properly compare and initialize kuids and kgids 2013-02-13 06:16:09 -08:00
auth.h nfsd: Remove nfsd_luid, nfsd_lgid, nfsd_ruid and nfsd_rgid 2013-02-13 06:15:51 -08:00
cache.h nfsd: get rid of unused function definition 2014-01-02 17:53:23 -05:00
current_stateid.h nfsd41: use current stateid by value 2012-02-15 11:20:45 -05:00
export.c nfsd: -EINVAL on invalid anonuid/gid instead of silent failure 2013-10-29 17:46:14 -04:00
fault_inject.c Merge branch 'for-3.9' of git://linux-nfs.org/~bfields/linux 2013-02-28 18:02:55 -08:00
idmap.h nfsd4: simplify xdr encoding of nfsv4 names 2014-01-08 12:18:53 -05:00
lockd.c nfsd: Remove deprecated nfsctl system call and related code. 2011-07-15 18:58:42 -04:00
netns.h NFSD: Don't start lockd when only NFSv4 is running 2014-01-03 18:18:50 -05:00
nfs2acl.c nfsd: use get_acl and ->set_acl 2014-01-26 08:26:41 -05:00
nfs3acl.c nfsd: use get_acl and ->set_acl 2014-01-26 08:26:41 -05:00
nfs3proc.c switch vfs_getattr() to struct path 2013-02-26 02:46:08 -05:00
nfs3xdr.c nfsd: fix encode_entryplus_baggage stack usage 2014-01-23 13:50:27 -05:00
nfs4acl.c nfsd4: fix acl buffer overrun 2014-02-11 13:48:11 -05:00
nfs4callback.c nfsd4: check backchannel attributes on create_session 2013-04-09 16:53:56 -04:00
nfs4idmap.c nfsd4: simplify xdr encoding of nfsv4 names 2014-01-08 12:18:53 -05:00
nfs4proc.c NFSD: Clear wcc data between compound ops 2014-03-30 10:47:34 -04:00
nfs4recover.c nfsd: switch to %p[dD] 2013-10-24 23:34:51 -04:00
nfs4state.c nfsd: Don't return NFS4ERR_STALE_STATEID for NFSv4.1+ 2014-03-30 10:47:33 -04:00
nfs4xdr.c nfsd4: fix nfs4err_resource in 4.1 case 2014-03-28 21:24:56 -04:00
nfscache.c nfsd: don't try to reuse an expired DRC entry off the list 2013-12-11 11:27:04 -05:00
nfsctl.c Merge branch 'for-3.10' of git://linux-nfs.org/~bfields/linux 2013-05-03 10:59:39 -07:00
nfsd.h nfsd4: leave reply buffer space for failed setattr 2014-03-27 16:31:09 -04:00
nfsfh.c nfsd: fh_update should error out in unexpected cases 2013-10-29 17:43:52 -04:00
nfsfh.h NFSD: Clear wcc data between compound ops 2014-03-30 10:47:34 -04:00
nfsproc.c switch vfs_getattr() to struct path 2013-02-26 02:46:08 -05:00
nfssvc.c NFSD: fix compile warning without CONFIG_NFSD_V3 2014-01-06 12:23:31 -05:00
nfsxdr.c nfsd: don't return high mode bits 2013-12-10 20:35:58 -05:00
state.h nfsd4: implement minimal SP4_MACH_CRED 2013-07-01 17:23:06 -04:00
stats.c SUNRPC: register service stats /proc entries in passed network namespace context 2012-01-31 19:28:18 -05:00
vfs.c nfsd: typo in nfsd_rename comment 2014-03-28 18:02:11 -04:00
vfs.h Merge branch 'for-3.14' of git://linux-nfs.org/~bfields/linux 2014-01-30 10:18:43 -08:00
xdr.h nfsd: handle vfs_getattr errors in acl protocol 2013-02-26 02:46:09 -05:00
xdr3.h nfsd: fix encode_entryplus_baggage stack usage 2014-01-23 13:50:27 -05:00
xdr4.h nfsd4: nfsd4_replay_cache_entry should be static 2014-03-28 21:24:51 -04:00
xdr4cb.h nfsd4: check backchannel attributes on create_session 2013-04-09 16:53:56 -04:00