From owner-svn-src-projects@FreeBSD.ORG Mon Jan 16 03:42:41 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 17A38106566C; Mon, 16 Jan 2012 03:42:41 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 01C448FC15; Mon, 16 Jan 2012 03:42:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q0G3gejT013779; Mon, 16 Jan 2012 03:42:40 GMT (envelope-from rmacklem@svn.freebsd.org) Received: (from rmacklem@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q0G3ge7Y013775; Mon, 16 Jan 2012 03:42:40 GMT (envelope-from rmacklem@svn.freebsd.org) Message-Id: <201201160342.q0G3ge7Y013775@svn.freebsd.org> From: Rick Macklem Date: Mon, 16 Jan 2012 03:42:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r230186 - in projects/nfsv4.1-client/sys/fs: nfs nfsclient X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Jan 2012 03:42:41 -0000 Author: rmacklem Date: Mon Jan 16 03:42:40 2012 New Revision: 230186 URL: http://svn.freebsd.org/changeset/base/230186 Log: Change nfsrpc_createsession() so that it takes the nfsclsession structure as an argument instead of nfsclclient. This allows it to be used to create DS sessions. Modified: projects/nfsv4.1-client/sys/fs/nfs/nfs_var.h projects/nfsv4.1-client/sys/fs/nfs/nfsclstate.h projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clrpcops.c Modified: projects/nfsv4.1-client/sys/fs/nfs/nfs_var.h ============================================================================== --- projects/nfsv4.1-client/sys/fs/nfs/nfs_var.h Mon Jan 16 02:42:41 2012 (r230185) +++ projects/nfsv4.1-client/sys/fs/nfs/nfs_var.h Mon Jan 16 03:42:40 2012 (r230186) @@ -438,7 +438,7 @@ int nfsrpc_getacl(vnode_t, struct ucred int nfsrpc_setacl(vnode_t, struct ucred *, NFSPROC_T *, NFSACL_T *, void *); int nfsrpc_exchangeid(struct nfsmount *, struct nfsclclient *, struct nfsclsession *, uint32_t, struct ucred *, NFSPROC_T *); -int nfsrpc_createsession(struct nfsmount *, struct nfsclclient *, +int nfsrpc_createsession(struct nfsmount *, struct nfsclsession *, struct ucred *, NFSPROC_T *); int nfsrpc_destroysession(struct nfsmount *, struct nfsclclient *, struct ucred *, NFSPROC_T *); Modified: projects/nfsv4.1-client/sys/fs/nfs/nfsclstate.h ============================================================================== --- projects/nfsv4.1-client/sys/fs/nfs/nfsclstate.h Mon Jan 16 02:42:41 2012 (r230185) +++ projects/nfsv4.1-client/sys/fs/nfs/nfsclstate.h Mon Jan 16 03:42:40 2012 (r230186) @@ -65,6 +65,7 @@ struct nfsclsession { uint64_t nfsess_slots; uint32_t nfsess_sequenceid; uint16_t nfsess_foreslots; + uint16_t nfsess_backslots; uint8_t nfsess_sessionid[NFSX_V4SESSIONID]; }; @@ -87,7 +88,6 @@ struct nfsclclient { u_int32_t nfsc_renew; u_int32_t nfsc_cbident; u_int16_t nfsc_flags; - u_int16_t nfsc_backslots; /* # of back channel slots. */ u_int16_t nfsc_idlen; u_int8_t nfsc_id[1]; /* Malloc'd to correct length */ }; @@ -99,6 +99,7 @@ struct nfsclclient { #define nfsc_slots nfsc_sess.nfsess_slots #define nfsc_sequenceid nfsc_sess.nfsess_sequenceid #define nfsc_foreslots nfsc_sess.nfsess_foreslots +#define nfsc_backslots nfsc_sess.nfsess_backslots #define nfsc_sessionid nfsc_sess.nfsess_sessionid /* Modified: projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clrpcops.c Mon Jan 16 02:42:41 2012 (r230185) +++ projects/nfsv4.1-client/sys/fs/nfsclient/nfs_clrpcops.c Mon Jan 16 03:42:40 2012 (r230186) @@ -798,7 +798,8 @@ nfsrpc_setclient(struct nfsmount *nmp, s NFSV4EXCH_USEPNFSMDS | NFSV4EXCH_USENONPNFS, cred, p); if (error) printf("exch=%d\n",error); if (error == 0) - error = nfsrpc_createsession(nmp, clp, cred, p); + error = nfsrpc_createsession(nmp, &clp->nfsc_sess, cred, + p); if (error) printf("aft crs=%d\n",error); return (error); } @@ -4335,7 +4336,7 @@ nfsmout: * Do the NFSv4.1 Create Session. */ int -nfsrpc_createsession(struct nfsmount *nmp, struct nfsclclient *clp, +nfsrpc_createsession(struct nfsmount *nmp, struct nfsclsession *sep, struct ucred *cred, NFSPROC_T *p) { uint32_t *tl; @@ -4345,10 +4346,10 @@ nfsrpc_createsession(struct nfsmount *nm nfscl_reqstart(nd, NFSPROC_CREATESESSION, nmp, NULL, 0, NULL, NULL); NFSM_BUILD(tl, uint32_t *, 4 * NFSX_UNSIGNED); - *tl++ = clp->nfsc_clientid.lval[0]; - *tl++ = clp->nfsc_clientid.lval[1]; - *tl++ = txdr_unsigned(clp->nfsc_sequenceid); -printf("clseq0=0x%x\n",clp->nfsc_sequenceid); + *tl++ = sep->nfsess_clientid.lval[0]; + *tl++ = sep->nfsess_clientid.lval[1]; + *tl++ = txdr_unsigned(sep->nfsess_sequenceid); +printf("clseq0=0x%x\n",sep->nfsess_sequenceid); if (nfscl_enablecallb != 0 && nfs_numnfscbd > 0) *tl = txdr_unsigned(NFSV4CRSESS_PERSIST | NFSV4CRSESS_CONNBACKCHAN); @@ -4394,10 +4395,10 @@ printf("clseq0=0x%x\n",clp->nfsc_sequenc if (nd->nd_repstat == 0) { NFSM_DISSECT(tl, uint32_t *, NFSX_V4SESSIONID + 2 * NFSX_UNSIGNED); - bcopy(tl, clp->nfsc_sessionid, NFSX_V4SESSIONID); + bcopy(tl, sep->nfsess_sessionid, NFSX_V4SESSIONID); tl += NFSX_V4SESSIONID / NFSX_UNSIGNED; - clp->nfsc_sequenceid = fxdr_unsigned(uint32_t, *tl++); -printf("clseq=0x%x\n",clp->nfsc_sequenceid); + sep->nfsess_sequenceid = fxdr_unsigned(uint32_t, *tl++); +printf("clseq=0x%x\n",sep->nfsess_sequenceid); printf("crfl=0x%x\n",fxdr_unsigned(uint32_t, *tl)); /* Don't care about replied flags for now. */ @@ -4405,8 +4406,8 @@ printf("crfl=0x%x\n",fxdr_unsigned(uint3 NFSM_DISSECT(tl, uint32_t *, 7 * NFSX_UNSIGNED); printf("cr %d %d %d %d %d\n",fxdr_unsigned(uint32_t, *tl),fxdr_unsigned(uint32_t, *(tl+1)),fxdr_unsigned(uint32_t, *(tl+2)),fxdr_unsigned(uint32_t, *(tl+3)),fxdr_unsigned(uint32_t, *(tl+4))); tl += 5; /* Skip the other counts. */ - clp->nfsc_foreslots = fxdr_unsigned(uint16_t, *tl++); -printf("fore slots=%d\n", clp->nfsc_foreslots); + sep->nfsess_foreslots = fxdr_unsigned(uint16_t, *tl++); +printf("fore slots=%d\n", sep->nfsess_foreslots); irdcnt = fxdr_unsigned(int, *tl); if (irdcnt > 0) { printf("got an ird cnt=%d\n",irdcnt); @@ -4416,8 +4417,8 @@ printf("got an ird cnt=%d\n",irdcnt); /* and the back channel slot count. */ NFSM_DISSECT(tl, uint32_t *, 7 * NFSX_UNSIGNED); tl += 5; - clp->nfsc_backslots = fxdr_unsigned(uint16_t, *tl); -printf("back slots=%d\n", clp->nfsc_backslots); + sep->nfsess_backslots = fxdr_unsigned(uint16_t, *tl); +printf("back slots=%d\n", sep->nfsess_backslots); } error = nd->nd_repstat; nfsmout: