diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-09-20 00:48:28 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-09-20 00:48:28 -0400 |
commit | 783c99f42e221217761e9c319838d5533107f7cb (patch) | |
tree | ff09cb67fc0875450e83906af887fe219bc99c53 /fs/nfs/nfs4proc.c | |
parent | f8ec473387f70d103c83ffb3ab50cb2b1380d0c0 (diff) | |
parent | e478bec0ba0a83a48a0f6982934b6de079e7e6b3 (diff) | |
download | talos-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.c | 6 |
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; } |