From owner-svn-src-projects@freebsd.org Tue Apr 28 02:14:00 2020 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 534062CFF76 for ; Tue, 28 Apr 2020 02:14:00 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49B4vX1y3gz45ks; Tue, 28 Apr 2020 02:14:00 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3D8691CC3B; Tue, 28 Apr 2020 02:14:00 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03S2E01m070197; Tue, 28 Apr 2020 02:14:00 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03S2DxVa070191; Tue, 28 Apr 2020 02:13:59 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004280213.03S2DxVa070191@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Tue, 28 Apr 2020 02:13:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r360426 - in projects/nfs-over-tls/sys/fs: nfs nfsclient X-SVN-Group: projects X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in projects/nfs-over-tls/sys/fs: nfs nfsclient X-SVN-Commit-Revision: 360426 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 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: Tue, 28 Apr 2020 02:14:00 -0000 Author: rmacklem Date: Tue Apr 28 02:13:59 2020 New Revision: 360426 URL: https://svnweb.freebsd.org/changeset/base/360426 Log: Merge in the recent change to replace the Mac OS/X uio_XX macros from head. Modified: projects/nfs-over-tls/sys/fs/nfs/nfskpiport.h projects/nfs-over-tls/sys/fs/nfsclient/nfs_clrpcops.c Directory Properties: projects/nfs-over-tls/sys/ (props changed) Modified: projects/nfs-over-tls/sys/fs/nfs/nfskpiport.h ============================================================================== --- projects/nfs-over-tls/sys/fs/nfs/nfskpiport.h Tue Apr 28 02:13:17 2020 (r360425) +++ projects/nfs-over-tls/sys/fs/nfs/nfskpiport.h Tue Apr 28 02:13:59 2020 (r360426) @@ -43,20 +43,4 @@ typedef struct vnode * vnode_t; #define vnode_mount(v) ((v)->v_mount) #define vnode_vtype(v) ((v)->v_type) -/* - * This stuff is needed by Darwin for handling the uio structure. - */ -#define uio_uio_resid(p) ((p)->uio_resid) -#define uio_uio_resid_add(p, v) ((p)->uio_resid += (v)) -#define uio_uio_resid_set(p, v) ((p)->uio_resid = (v)) -#define uio_iov_base(p) ((p)->uio_iov->iov_base) -#define uio_iov_base_add(p, v) do { \ - char *pp; \ - pp = (char *)(p)->uio_iov->iov_base; \ - pp += (v); \ - (p)->uio_iov->iov_base = (void *)pp; \ - } while (0) -#define uio_iov_len(p) ((p)->uio_iov->iov_len) -#define uio_iov_len_add(p, v) ((p)->uio_iov->iov_len += (v)) - #endif /* _NFS_NFSKPIPORT_H */ Modified: projects/nfs-over-tls/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- projects/nfs-over-tls/sys/fs/nfsclient/nfs_clrpcops.c Tue Apr 28 02:13:17 2020 (r360425) +++ projects/nfs-over-tls/sys/fs/nfsclient/nfs_clrpcops.c Tue Apr 28 02:13:59 2020 (r360426) @@ -1624,7 +1624,7 @@ nfsrpc_readrpc(vnode_t vp, struct uio *uiop, struct uc off_t tmp_off; *attrflagp = 0; - tsiz = uio_uio_resid(uiop); + tsiz = uiop->uio_resid; tmp_off = uiop->uio_offset + tsiz; NFSLOCKMNT(nmp); if (tmp_off > nmp->nm_maxfilesize || tmp_off < uiop->uio_offset) { @@ -1805,7 +1805,7 @@ nfsrpc_writerpc(vnode_t vp, struct uio *uiop, int *iom PMAP_HAS_DMAP != 0) use_ext = true; *attrflagp = 0; - tsiz = uio_uio_resid(uiop); + tsiz = uiop->uio_resid; tmp_off = uiop->uio_offset + tsiz; NFSLOCKMNT(nmp); if (tmp_off > nmp->nm_maxfilesize || tmp_off < uiop->uio_offset) { @@ -1891,9 +1891,10 @@ nfsrpc_writerpc(vnode_t vp, struct uio *uiop, int *iom * back. */ uiop->uio_offset -= len; - uio_uio_resid_add(uiop, len); - uio_iov_base_add(uiop, -len); - uio_iov_len_add(uiop, len); + uiop->uio_resid += len; + uiop->uio_iov->iov_base = + (char *)uiop->uio_iov->iov_base - len; + uiop->uio_iov->iov_len += len; } if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) { error = nfscl_wcc_data(nd, vp, nap, attrflagp, @@ -1911,10 +1912,12 @@ nfsrpc_writerpc(vnode_t vp, struct uio *uiop, int *iom goto nfsmout; } else if (rlen < len) { backup = len - rlen; - uio_iov_base_add(uiop, -(backup)); - uio_iov_len_add(uiop, backup); + uiop->uio_iov->iov_base = + (char *)uiop->uio_iov->iov_base - + backup; + uiop->uio_iov->iov_len += backup; uiop->uio_offset -= backup; - uio_uio_resid_add(uiop, backup); + uiop->uio_resid += backup; len = rlen; } commit = fxdr_unsigned(int, *tl++); @@ -2938,7 +2941,7 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 size_t tresid; KASSERT(uiop->uio_iovcnt == 1 && - (uio_uio_resid(uiop) & (DIRBLKSIZ - 1)) == 0, + (uiop->uio_resid & (DIRBLKSIZ - 1)) == 0, ("nfs readdirrpc bad uio")); ncookie.lval[0] = ncookie.lval[1] = 0; /* @@ -2948,13 +2951,13 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 * will never make readsize > nm_readdirsize. */ readsize = nmp->nm_readdirsize; - if (readsize > uio_uio_resid(uiop)) - readsize = uio_uio_resid(uiop) + DIRBLKSIZ; + if (readsize > uiop->uio_resid) + readsize = uiop->uio_resid + DIRBLKSIZ; *attrflagp = 0; if (eofp) *eofp = 0; - tresid = uio_uio_resid(uiop); + tresid = uiop->uio_resid; cookie.lval[0] = cookiep->nfsuquad[0]; cookie.lval[1] = cookiep->nfsuquad[1]; nd->nd_mrep = NULL; @@ -3049,7 +3052,7 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 if (error) return (error); nd->nd_mrep = NULL; - dp = (struct dirent *)uio_iov_base(uiop); + dp = (struct dirent *)uiop->uio_iov->iov_base; dp->d_pad0 = dp->d_pad1 = 0; dp->d_off = 0; dp->d_type = DT_DIR; @@ -3065,11 +3068,12 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 *tl++ = 0; *tl = 0; blksiz += dp->d_reclen; - uio_uio_resid_add(uiop, -(dp->d_reclen)); + uiop->uio_resid -= dp->d_reclen; uiop->uio_offset += dp->d_reclen; - uio_iov_base_add(uiop, dp->d_reclen); - uio_iov_len_add(uiop, -(dp->d_reclen)); - dp = (struct dirent *)uio_iov_base(uiop); + uiop->uio_iov->iov_base = + (char *)uiop->uio_iov->iov_base + dp->d_reclen; + uiop->uio_iov->iov_len -= dp->d_reclen; + dp = (struct dirent *)uiop->uio_iov->iov_base; dp->d_pad0 = dp->d_pad1 = 0; dp->d_off = 0; dp->d_type = DT_DIR; @@ -3086,10 +3090,11 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 *tl++ = 0; *tl = 0; blksiz += dp->d_reclen; - uio_uio_resid_add(uiop, -(dp->d_reclen)); + uiop->uio_resid -= dp->d_reclen; uiop->uio_offset += dp->d_reclen; - uio_iov_base_add(uiop, dp->d_reclen); - uio_iov_len_add(uiop, -(dp->d_reclen)); + uiop->uio_iov->iov_base = + (char *)uiop->uio_iov->iov_base + dp->d_reclen; + uiop->uio_iov->iov_len -= dp->d_reclen; } NFSSETBIT_ATTRBIT(&attrbits, NFSATTRBIT_RDATTRERROR); } else { @@ -3184,19 +3189,20 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 tlen += 8; /* To ensure null termination. */ left = DIRBLKSIZ - blksiz; if (_GENERIC_DIRLEN(len) + NFSX_HYPER > left) { - NFSBZERO(uio_iov_base(uiop), left); + NFSBZERO(uiop->uio_iov->iov_base, left); dp->d_reclen += left; - uio_iov_base_add(uiop, left); - uio_iov_len_add(uiop, -(left)); - uio_uio_resid_add(uiop, -(left)); + uiop->uio_iov->iov_base = + (char *)uiop->uio_iov->iov_base + left; + uiop->uio_iov->iov_len -= left; + uiop->uio_resid -= left; uiop->uio_offset += left; blksiz = 0; } if (_GENERIC_DIRLEN(len) + NFSX_HYPER > - uio_uio_resid(uiop)) + uiop->uio_resid) bigenough = 0; if (bigenough) { - dp = (struct dirent *)uio_iov_base(uiop); + dp = (struct dirent *)uiop->uio_iov->iov_base; dp->d_pad0 = dp->d_pad1 = 0; dp->d_off = 0; dp->d_namlen = len; @@ -3206,21 +3212,24 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 blksiz += dp->d_reclen; if (blksiz == DIRBLKSIZ) blksiz = 0; - uio_uio_resid_add(uiop, -(DIRHDSIZ)); + uiop->uio_resid -= DIRHDSIZ; uiop->uio_offset += DIRHDSIZ; - uio_iov_base_add(uiop, DIRHDSIZ); - uio_iov_len_add(uiop, -(DIRHDSIZ)); + uiop->uio_iov->iov_base = + (char *)uiop->uio_iov->iov_base + DIRHDSIZ; + uiop->uio_iov->iov_len -= DIRHDSIZ; error = nfsm_mbufuio(nd, uiop, len); if (error) goto nfsmout; - cp = uio_iov_base(uiop); + cp = uiop->uio_iov->iov_base; tlen -= len; NFSBZERO(cp, tlen); cp += tlen; /* points to cookie storage */ tl2 = (u_int32_t *)cp; - uio_iov_base_add(uiop, (tlen + NFSX_HYPER)); - uio_iov_len_add(uiop, -(tlen + NFSX_HYPER)); - uio_uio_resid_add(uiop, -(tlen + NFSX_HYPER)); + uiop->uio_iov->iov_base = + (char *)uiop->uio_iov->iov_base + tlen + + NFSX_HYPER; + uiop->uio_iov->iov_len -= tlen + NFSX_HYPER; + uiop->uio_resid -= tlen + NFSX_HYPER; uiop->uio_offset += (tlen + NFSX_HYPER); } else { error = nfsm_advance(nd, NFSM_RNDUP(len), -1); @@ -3303,11 +3312,12 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 */ if (blksiz > 0) { left = DIRBLKSIZ - blksiz; - NFSBZERO(uio_iov_base(uiop), left); + NFSBZERO(uiop->uio_iov->iov_base, left); dp->d_reclen += left; - uio_iov_base_add(uiop, left); - uio_iov_len_add(uiop, -(left)); - uio_uio_resid_add(uiop, -(left)); + uiop->uio_iov->iov_base = (char *)uiop->uio_iov->iov_base + + left; + uiop->uio_iov->iov_len -= left; + uiop->uio_resid -= left; uiop->uio_offset += left; } @@ -3318,7 +3328,7 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 * Otherwise, return the eof flag from the server. */ if (eofp) { - if (tresid == ((size_t)(uio_uio_resid(uiop)))) + if (tresid == ((size_t)(uiop->uio_resid))) *eofp = 1; else if (!bigenough) *eofp = 0; @@ -3329,17 +3339,18 @@ nfsrpc_readdir(vnode_t vp, struct uio *uiop, nfsuint64 /* * Add extra empty records to any remaining DIRBLKSIZ chunks. */ - while (uio_uio_resid(uiop) > 0 && uio_uio_resid(uiop) != tresid) { - dp = (struct dirent *)uio_iov_base(uiop); + while (uiop->uio_resid > 0 && uiop->uio_resid != tresid) { + dp = (struct dirent *)uiop->uio_iov->iov_base; NFSBZERO(dp, DIRBLKSIZ); dp->d_type = DT_UNKNOWN; tl = (u_int32_t *)&dp->d_name[4]; *tl++ = cookie.lval[0]; *tl = cookie.lval[1]; dp->d_reclen = DIRBLKSIZ; - uio_iov_base_add(uiop, DIRBLKSIZ); - uio_iov_len_add(uiop, -(DIRBLKSIZ)); - uio_uio_resid_add(uiop, -(DIRBLKSIZ)); + uiop->uio_iov->iov_base = (char *)uiop->uio_iov->iov_base + + DIRBLKSIZ; + uiop->uio_iov->iov_len -= DIRBLKSIZ; + uiop->uio_resid -= DIRBLKSIZ; uiop->uio_offset += DIRBLKSIZ; } @@ -3384,7 +3395,7 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui struct timespec dctime; KASSERT(uiop->uio_iovcnt == 1 && - (uio_uio_resid(uiop) & (DIRBLKSIZ - 1)) == 0, + (uiop->uio_resid & (DIRBLKSIZ - 1)) == 0, ("nfs readdirplusrpc bad uio")); ncookie.lval[0] = ncookie.lval[1] = 0; timespecclear(&dctime); @@ -3395,7 +3406,7 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui nd->nd_mrep = NULL; cookie.lval[0] = cookiep->nfsuquad[0]; cookie.lval[1] = cookiep->nfsuquad[1]; - tresid = uio_uio_resid(uiop); + tresid = uiop->uio_resid; /* * For NFSv4, first create the "." and ".." entries. @@ -3486,7 +3497,7 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui if (error) return (error); nd->nd_mrep = NULL; - dp = (struct dirent *)uio_iov_base(uiop); + dp = (struct dirent *)uiop->uio_iov->iov_base; dp->d_pad0 = dp->d_pad1 = 0; dp->d_off = 0; dp->d_type = DT_DIR; @@ -3502,11 +3513,12 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui *tl++ = 0; *tl = 0; blksiz += dp->d_reclen; - uio_uio_resid_add(uiop, -(dp->d_reclen)); + uiop->uio_resid -= dp->d_reclen; uiop->uio_offset += dp->d_reclen; - uio_iov_base_add(uiop, dp->d_reclen); - uio_iov_len_add(uiop, -(dp->d_reclen)); - dp = (struct dirent *)uio_iov_base(uiop); + uiop->uio_iov->iov_base = + (char *)uiop->uio_iov->iov_base + dp->d_reclen; + uiop->uio_iov->iov_len -= dp->d_reclen; + dp = (struct dirent *)uiop->uio_iov->iov_base; dp->d_pad0 = dp->d_pad1 = 0; dp->d_off = 0; dp->d_type = DT_DIR; @@ -3523,10 +3535,11 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui *tl++ = 0; *tl = 0; blksiz += dp->d_reclen; - uio_uio_resid_add(uiop, -(dp->d_reclen)); + uiop->uio_resid -= dp->d_reclen; uiop->uio_offset += dp->d_reclen; - uio_iov_base_add(uiop, dp->d_reclen); - uio_iov_len_add(uiop, -(dp->d_reclen)); + uiop->uio_iov->iov_base = + (char *)uiop->uio_iov->iov_base + dp->d_reclen; + uiop->uio_iov->iov_len -= dp->d_reclen; } NFSREADDIRPLUS_ATTRBIT(&attrbits); if (gotmnton) @@ -3602,19 +3615,20 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui tlen += 8; /* To ensure null termination. */ left = DIRBLKSIZ - blksiz; if (_GENERIC_DIRLEN(len) + NFSX_HYPER > left) { - NFSBZERO(uio_iov_base(uiop), left); + NFSBZERO(uiop->uio_iov->iov_base, left); dp->d_reclen += left; - uio_iov_base_add(uiop, left); - uio_iov_len_add(uiop, -(left)); - uio_uio_resid_add(uiop, -(left)); + uiop->uio_iov->iov_base = + (char *)uiop->uio_iov->iov_base + left; + uiop->uio_iov->iov_len -= left; + uiop->uio_resid -= left; uiop->uio_offset += left; blksiz = 0; } if (_GENERIC_DIRLEN(len) + NFSX_HYPER > - uio_uio_resid(uiop)) + uiop->uio_resid) bigenough = 0; if (bigenough) { - dp = (struct dirent *)uio_iov_base(uiop); + dp = (struct dirent *)uiop->uio_iov->iov_base; dp->d_pad0 = dp->d_pad1 = 0; dp->d_off = 0; dp->d_namlen = len; @@ -3624,17 +3638,18 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui blksiz += dp->d_reclen; if (blksiz == DIRBLKSIZ) blksiz = 0; - uio_uio_resid_add(uiop, -(DIRHDSIZ)); + uiop->uio_resid -= DIRHDSIZ; uiop->uio_offset += DIRHDSIZ; - uio_iov_base_add(uiop, DIRHDSIZ); - uio_iov_len_add(uiop, -(DIRHDSIZ)); - cnp->cn_nameptr = uio_iov_base(uiop); + uiop->uio_iov->iov_base = + (char *)uiop->uio_iov->iov_base + DIRHDSIZ; + uiop->uio_iov->iov_len -= DIRHDSIZ; + cnp->cn_nameptr = uiop->uio_iov->iov_base; cnp->cn_namelen = len; NFSCNHASHZERO(cnp); error = nfsm_mbufuio(nd, uiop, len); if (error) goto nfsmout; - cp = uio_iov_base(uiop); + cp = uiop->uio_iov->iov_base; tlen -= len; NFSBZERO(cp, tlen); cp += tlen; /* points to cookie storage */ @@ -3644,9 +3659,11 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui isdotdot = 1; else isdotdot = 0; - uio_iov_base_add(uiop, (tlen + NFSX_HYPER)); - uio_iov_len_add(uiop, -(tlen + NFSX_HYPER)); - uio_uio_resid_add(uiop, -(tlen + NFSX_HYPER)); + uiop->uio_iov->iov_base = + (char *)uiop->uio_iov->iov_base + tlen + + NFSX_HYPER; + uiop->uio_iov->iov_len -= tlen + NFSX_HYPER; + uiop->uio_resid -= tlen + NFSX_HYPER; uiop->uio_offset += (tlen + NFSX_HYPER); } else { error = nfsm_advance(nd, NFSM_RNDUP(len), -1); @@ -3806,11 +3823,12 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui */ if (blksiz > 0) { left = DIRBLKSIZ - blksiz; - NFSBZERO(uio_iov_base(uiop), left); + NFSBZERO(uiop->uio_iov->iov_base, left); dp->d_reclen += left; - uio_iov_base_add(uiop, left); - uio_iov_len_add(uiop, -(left)); - uio_uio_resid_add(uiop, -(left)); + uiop->uio_iov->iov_base = (char *)uiop->uio_iov->iov_base + + left; + uiop->uio_iov->iov_len -= left; + uiop->uio_resid -= left; uiop->uio_offset += left; } @@ -3821,7 +3839,7 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui * Otherwise, return the eof flag from the server. */ if (eofp != NULL) { - if (tresid == uio_uio_resid(uiop)) + if (tresid == uiop->uio_resid) *eofp = 1; else if (!bigenough) *eofp = 0; @@ -3832,17 +3850,18 @@ nfsrpc_readdirplus(vnode_t vp, struct uio *uiop, nfsui /* * Add extra empty records to any remaining DIRBLKSIZ chunks. */ - while (uio_uio_resid(uiop) > 0 && uio_uio_resid(uiop) != tresid) { - dp = (struct dirent *)uio_iov_base(uiop); + while (uiop->uio_resid > 0 && uiop->uio_resid != tresid) { + dp = (struct dirent *)uiop->uio_iov->iov_base; NFSBZERO(dp, DIRBLKSIZ); dp->d_type = DT_UNKNOWN; tl = (u_int32_t *)&dp->d_name[4]; *tl++ = cookie.lval[0]; *tl = cookie.lval[1]; dp->d_reclen = DIRBLKSIZ; - uio_iov_base_add(uiop, DIRBLKSIZ); - uio_iov_len_add(uiop, -(DIRBLKSIZ)); - uio_uio_resid_add(uiop, -(DIRBLKSIZ)); + uiop->uio_iov->iov_base = (char *)uiop->uio_iov->iov_base + + DIRBLKSIZ; + uiop->uio_iov->iov_len -= DIRBLKSIZ; + uiop->uio_resid -= DIRBLKSIZ; uiop->uio_offset += DIRBLKSIZ; } @@ -6419,9 +6438,9 @@ nfsrpc_writeds(vnode_t vp, struct uio *uiop, int *iomo * back. */ uiop->uio_offset -= len; - uio_uio_resid_add(uiop, len); - uio_iov_base_add(uiop, -len); - uio_iov_len_add(uiop, len); + uiop->uio_resid += len; + uiop->uio_iov->iov_base = (char *)uiop->uio_iov->iov_base - len; + uiop->uio_iov->iov_len += len; error = nd->nd_repstat; } else { if (vers == NFS_VER3) { @@ -6439,10 +6458,11 @@ nfsrpc_writeds(vnode_t vp, struct uio *uiop, int *iomo goto nfsmout; } else if (rlen < len) { backup = len - rlen; - uio_iov_base_add(uiop, -(backup)); - uio_iov_len_add(uiop, backup); + uiop->uio_iov->iov_base = + (char *)uiop->uio_iov->iov_base - backup; + uiop->uio_iov->iov_len += backup; uiop->uio_offset -= backup; - uio_uio_resid_add(uiop, backup); + uiop->uio_resid += backup; len = rlen; } commit = fxdr_unsigned(int, *tl++);