2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-12 15:24:00 +08:00
linux-next/fs/nfsd
J. Bruce Fields 4335723e8e nfsd4: fix delegation-unlink/rename race
If a file is unlinked or renamed between the time when we do the local
open and the time when we get the delegation, then we will return to the
client indicating that it holds a delegation even though the file no
longer exists under the name it was open under.

But a client performing an open-by-name, when it is returned a
delegation, must be able to assume that the file is still linked at the
name it was opened under.

So, hold the parent i_mutex for longer to prevent concurrent renames or
unlinks.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2014-01-27 13:59:16 -05:00
..
acl.h nfsd4: simplify xdr encoding of nfsv4 names 2014-01-08 12:18:53 -05: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
Kconfig nfsd: fix Kconfig syntax 2013-10-26 15:37:26 -04:00
lockd.c nfsd: Remove deprecated nfsctl system call and related code. 2011-07-15 18:58:42 -04:00
Makefile NFSD: Added fault injection 2011-11-07 21:10:47 -05:00
netns.h NFSD: Don't start lockd when only NFSv4 is running 2014-01-03 18:18:50 -05:00
nfs2acl.c nfsd: handle vfs_getattr errors in acl protocol 2013-02-26 02:46:09 -05:00
nfs3acl.c nfsd4: cleanup: replace rq_resused count by rq_next_page pointer 2012-12-17 22:00:16 -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: simplify xdr encoding of nfsv4 names 2014-01-08 12:18:53 -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 nfsd4: fix delegation-unlink/rename race 2014-01-27 13:59:16 -05:00
nfs4recover.c nfsd: switch to %p[dD] 2013-10-24 23:34:51 -04:00
nfs4state.c nfsd4: minor nfs4_setlease cleanup 2014-01-27 13:59:15 -05:00
nfs4xdr.c nfsd4: decrease nfsd4_encode_fattr stack usage 2014-01-24 15:58:21 -05: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: fix minorversion support interface 2013-07-12 16:48:52 -04:00
nfsfh.c nfsd: fh_update should error out in unexpected cases 2013-10-29 17:43:52 -04:00
nfsfh.h nfsd: switch to %p[dD] 2013-10-24 23:34:51 -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 nfsd4: fix delegation-unlink/rename race 2014-01-27 13:59:16 -05:00
vfs.h nfsd: get rid of unused function definition 2014-01-06 12:23:33 -05:00
xdr3.h nfsd: fix encode_entryplus_baggage stack usage 2014-01-23 13:50:27 -05:00
xdr4.h Define op_iattr for nfsd4_open instead using macro 2014-01-06 12:23:32 -05:00
xdr4cb.h nfsd4: check backchannel attributes on create_session 2013-04-09 16:53:56 -04:00
xdr.h nfsd: handle vfs_getattr errors in acl protocol 2013-02-26 02:46:09 -05:00