diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-13 01:34:18 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-13 01:34:18 -0500 |
commit | 9bc9ccd7db1c9f043f75380b5a5b94912046a60e (patch) | |
tree | dd0a1b3396ae9414f668b0110cc39d11268ad3ed /fs/nfsd/nfs4state.c | |
parent | f0230294271f511b41797305b685365a9e569a09 (diff) | |
parent | bdd3536618443809d18868563eeafa63b9d29603 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs updates from Al Viro:
"All kinds of stuff this time around; some more notable parts:
- RCU'd vfsmounts handling
- new primitives for coredump handling
- files_lock is gone
- Bruce's delegations handling series
- exportfs fixes
plus misc stuff all over the place"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (101 commits)
ecryptfs: ->f_op is never NULL
locks: break delegations on any attribute modification
locks: break delegations on link
locks: break delegations on rename
locks: helper functions for delegation breaking
locks: break delegations on unlink
namei: minor vfs_unlink cleanup
locks: implement delegations
locks: introduce new FL_DELEG lock flag
vfs: take i_mutex on renamed file
vfs: rename I_MUTEX_QUOTA now that it's not used for quotas
vfs: don't use PARENT/CHILD lock classes for non-directories
vfs: pull ext4's double-i_mutex-locking into common code
exportfs: fix quadratic behavior in filehandle lookup
exportfs: better variable name
exportfs: move most of reconnect_path to helper function
exportfs: eliminate unused "noprogress" counter
exportfs: stop retrying once we race with rename/remove
exportfs: clear DISCONNECTED on all parents sooner
exportfs: more detailed comment for path_reconnect
...
Diffstat (limited to 'fs/nfsd/nfs4state.c')
-rw-r--r-- | fs/nfsd/nfs4state.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 0874998a49cd..f36a30a9f2d1 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c | |||
@@ -3008,7 +3008,7 @@ static struct file_lock *nfs4_alloc_init_lease(struct nfs4_delegation *dp, int f | |||
3008 | return NULL; | 3008 | return NULL; |
3009 | locks_init_lock(fl); | 3009 | locks_init_lock(fl); |
3010 | fl->fl_lmops = &nfsd_lease_mng_ops; | 3010 | fl->fl_lmops = &nfsd_lease_mng_ops; |
3011 | fl->fl_flags = FL_LEASE; | 3011 | fl->fl_flags = FL_DELEG; |
3012 | fl->fl_type = flag == NFS4_OPEN_DELEGATE_READ? F_RDLCK: F_WRLCK; | 3012 | fl->fl_type = flag == NFS4_OPEN_DELEGATE_READ? F_RDLCK: F_WRLCK; |
3013 | fl->fl_end = OFFSET_MAX; | 3013 | fl->fl_end = OFFSET_MAX; |
3014 | fl->fl_owner = (fl_owner_t)(dp->dl_file); | 3014 | fl->fl_owner = (fl_owner_t)(dp->dl_file); |
@@ -3843,9 +3843,8 @@ nfsd4_open_confirm(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, | |||
3843 | struct nfs4_ol_stateid *stp; | 3843 | struct nfs4_ol_stateid *stp; |
3844 | struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); | 3844 | struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); |
3845 | 3845 | ||
3846 | dprintk("NFSD: nfsd4_open_confirm on file %.*s\n", | 3846 | dprintk("NFSD: nfsd4_open_confirm on file %pd\n", |
3847 | (int)cstate->current_fh.fh_dentry->d_name.len, | 3847 | cstate->current_fh.fh_dentry); |
3848 | cstate->current_fh.fh_dentry->d_name.name); | ||
3849 | 3848 | ||
3850 | status = fh_verify(rqstp, &cstate->current_fh, S_IFREG, 0); | 3849 | status = fh_verify(rqstp, &cstate->current_fh, S_IFREG, 0); |
3851 | if (status) | 3850 | if (status) |
@@ -3922,9 +3921,8 @@ nfsd4_open_downgrade(struct svc_rqst *rqstp, | |||
3922 | struct nfs4_ol_stateid *stp; | 3921 | struct nfs4_ol_stateid *stp; |
3923 | struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); | 3922 | struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); |
3924 | 3923 | ||
3925 | dprintk("NFSD: nfsd4_open_downgrade on file %.*s\n", | 3924 | dprintk("NFSD: nfsd4_open_downgrade on file %pd\n", |
3926 | (int)cstate->current_fh.fh_dentry->d_name.len, | 3925 | cstate->current_fh.fh_dentry); |
3927 | cstate->current_fh.fh_dentry->d_name.name); | ||
3928 | 3926 | ||
3929 | /* We don't yet support WANT bits: */ | 3927 | /* We don't yet support WANT bits: */ |
3930 | if (od->od_deleg_want) | 3928 | if (od->od_deleg_want) |
@@ -3980,9 +3978,8 @@ nfsd4_close(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, | |||
3980 | struct net *net = SVC_NET(rqstp); | 3978 | struct net *net = SVC_NET(rqstp); |
3981 | struct nfsd_net *nn = net_generic(net, nfsd_net_id); | 3979 | struct nfsd_net *nn = net_generic(net, nfsd_net_id); |
3982 | 3980 | ||
3983 | dprintk("NFSD: nfsd4_close on file %.*s\n", | 3981 | dprintk("NFSD: nfsd4_close on file %pd\n", |
3984 | (int)cstate->current_fh.fh_dentry->d_name.len, | 3982 | cstate->current_fh.fh_dentry); |
3985 | cstate->current_fh.fh_dentry->d_name.name); | ||
3986 | 3983 | ||
3987 | nfs4_lock_state(); | 3984 | nfs4_lock_state(); |
3988 | status = nfs4_preprocess_seqid_op(cstate, close->cl_seqid, | 3985 | status = nfs4_preprocess_seqid_op(cstate, close->cl_seqid, |