summaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4proc.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-09-20 00:48:28 -0400
committerJeff Garzik <jeff@garzik.org>2006-09-20 00:48:28 -0400
commit783c99f42e221217761e9c319838d5533107f7cb (patch)
treeff09cb67fc0875450e83906af887fe219bc99c53 /fs/nfs/nfs4proc.c
parentf8ec473387f70d103c83ffb3ab50cb2b1380d0c0 (diff)
parente478bec0ba0a83a48a0f6982934b6de079e7e6b3 (diff)
downloadtalos-op-linux-783c99f42e221217761e9c319838d5533107f7cb.tar.gz
talos-op-linux-783c99f42e221217761e9c319838d5533107f7cb.zip
Merge branch 'master' into upstream
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r--fs/nfs/nfs4proc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
index 153898e1331f..b14145b7b87f 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -970,7 +970,7 @@ static int _nfs4_do_open(struct inode *dir, struct dentry *dentry, int flags, st
status = -ENOMEM;
opendata = nfs4_opendata_alloc(dentry, sp, flags, sattr);
if (opendata == NULL)
- goto err_put_state_owner;
+ goto err_release_rwsem;
status = _nfs4_proc_open(opendata);
if (status != 0)
@@ -989,11 +989,11 @@ static int _nfs4_do_open(struct inode *dir, struct dentry *dentry, int flags, st
return 0;
err_opendata_free:
nfs4_opendata_free(opendata);
+err_release_rwsem:
+ up_read(&clp->cl_sem);
err_put_state_owner:
nfs4_put_state_owner(sp);
out_err:
- /* Note: clp->cl_sem must be released before nfs4_put_open_state()! */
- up_read(&clp->cl_sem);
*res = NULL;
return status;
}
OpenPOWER on IntegriCloud