svn commit: r360426 - in projects/nfs-over-tls/sys/fs: nfs nfsclient
Rick Macklem
rmacklem at FreeBSD.org
Tue Apr 28 02:14:00 UTC 2020
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++);
More information about the svn-src-projects
mailing list