summaryrefslogtreecommitdiffstats
path: root/sys/fs/nfsclient/nfs_clstate.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/fs/nfsclient/nfs_clstate.c')
-rw-r--r--sys/fs/nfsclient/nfs_clstate.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/sys/fs/nfsclient/nfs_clstate.c b/sys/fs/nfsclient/nfs_clstate.c
index 5fa302f..6f0692c 100644
--- a/sys/fs/nfsclient/nfs_clstate.c
+++ b/sys/fs/nfsclient/nfs_clstate.c
@@ -281,6 +281,23 @@ nfscl_open(vnode_t vp, u_int8_t *nfhp, int fhlen, u_int32_t amode, int usedeleg,
newonep);
/*
+ * Now, check the mode on the open and return the appropriate
+ * value.
+ */
+ if (retp != NULL) {
+ if (nfhp != NULL && dp != NULL && nop == NULL)
+ /* new local open on delegation */
+ *retp = NFSCLOPEN_SETCRED;
+ else
+ *retp = NFSCLOPEN_OK;
+ }
+ if (op != NULL && (amode & ~(op->nfso_mode))) {
+ op->nfso_mode |= amode;
+ if (retp != NULL && dp == NULL)
+ *retp = NFSCLOPEN_DOOPEN;
+ }
+
+ /*
* Serialize modifications to the open owner for multiple threads
* within the same process using a read/write sleep lock.
*/
@@ -295,23 +312,6 @@ nfscl_open(vnode_t vp, u_int8_t *nfhp, int fhlen, u_int32_t amode, int usedeleg,
*owpp = owp;
if (opp != NULL)
*opp = op;
- if (retp != NULL) {
- if (nfhp != NULL && dp != NULL && nop == NULL)
- /* new local open on delegation */
- *retp = NFSCLOPEN_SETCRED;
- else
- *retp = NFSCLOPEN_OK;
- }
-
- /*
- * Now, check the mode on the open and return the appropriate
- * value.
- */
- if (op != NULL && (amode & ~(op->nfso_mode))) {
- op->nfso_mode |= amode;
- if (retp != NULL && dp == NULL)
- *retp = NFSCLOPEN_DOOPEN;
- }
return (0);
}
OpenPOWER on IntegriCloud