Changeset View
Changeset View
Standalone View
Standalone View
sys/fs/nfsserver/nfs_nfsdport.c
Show First 20 Lines • Show All 2,252 Lines • ▼ Show 20 Lines | if (dp->d_fileno != 0 && dp->d_type != DT_WHT && | ||||
} else { | } else { | ||||
NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED); | NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED); | ||||
*tl++ = newnfs_true; | *tl++ = newnfs_true; | ||||
} | } | ||||
*tl = txdr_unsigned(dp->d_fileno); | *tl = txdr_unsigned(dp->d_fileno); | ||||
(void) nfsm_strtom(nd, dp->d_name, nlen); | (void) nfsm_strtom(nd, dp->d_name, nlen); | ||||
if (nd->nd_flag & ND_NFSV3) { | if (nd->nd_flag & ND_NFSV3) { | ||||
NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED); | NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED); | ||||
*tl++ = 0; | txdr_hyper(*cookiep, tl); | ||||
} else | } else { | ||||
NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); | NFSM_BUILD(tl, u_int32_t *, NFSX_UNSIGNED); | ||||
*tl = txdr_unsigned(*cookiep); | *tl = txdr_unsigned(*cookiep); | ||||
} | } | ||||
} | |||||
cpos += dp->d_reclen; | cpos += dp->d_reclen; | ||||
dp = (struct dirent *)cpos; | dp = (struct dirent *)cpos; | ||||
cookiep++; | cookiep++; | ||||
ncookies--; | ncookies--; | ||||
} | } | ||||
if (cpos < cend) | if (cpos < cend) | ||||
eofflag = 0; | eofflag = 0; | ||||
NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED); | NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED); | ||||
▲ Show 20 Lines • Show All 468 Lines • ▼ Show 20 Lines | if (dp->d_fileno != 0 && dp->d_type != DT_WHT && | ||||
*/ | */ | ||||
if (nd->nd_flag & ND_NFSV3) { | if (nd->nd_flag & ND_NFSV3) { | ||||
NFSM_BUILD(tl, u_int32_t *, 3 * NFSX_UNSIGNED); | NFSM_BUILD(tl, u_int32_t *, 3 * NFSX_UNSIGNED); | ||||
*tl++ = newnfs_true; | *tl++ = newnfs_true; | ||||
*tl++ = 0; | *tl++ = 0; | ||||
*tl = txdr_unsigned(dp->d_fileno); | *tl = txdr_unsigned(dp->d_fileno); | ||||
dirlen += nfsm_strtom(nd, dp->d_name, nlen); | dirlen += nfsm_strtom(nd, dp->d_name, nlen); | ||||
NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED); | NFSM_BUILD(tl, u_int32_t *, 2 * NFSX_UNSIGNED); | ||||
*tl++ = 0; | txdr_hyper(*cookiep, tl); | ||||
*tl = txdr_unsigned(*cookiep); | |||||
nfsrv_postopattr(nd, 0, nvap); | nfsrv_postopattr(nd, 0, nvap); | ||||
dirlen += nfsm_fhtom(nd,(u_int8_t *)&nfh,0,1); | dirlen += nfsm_fhtom(nd,(u_int8_t *)&nfh,0,1); | ||||
dirlen += (5*NFSX_UNSIGNED+NFSX_V3POSTOPATTR); | dirlen += (5*NFSX_UNSIGNED+NFSX_V3POSTOPATTR); | ||||
if (nvp != NULL) | if (nvp != NULL) | ||||
vput(nvp); | vput(nvp); | ||||
} else { | } else { | ||||
NFSM_BUILD(tl, u_int32_t *, 3 * NFSX_UNSIGNED); | NFSM_BUILD(tl, u_int32_t *, 3 * NFSX_UNSIGNED); | ||||
*tl++ = newnfs_true; | *tl++ = newnfs_true; | ||||
*tl++ = 0; | txdr_hyper(*cookiep, tl); | ||||
*tl = txdr_unsigned(*cookiep); | |||||
dirlen += nfsm_strtom(nd, dp->d_name, nlen); | dirlen += nfsm_strtom(nd, dp->d_name, nlen); | ||||
if (nvp != NULL) { | if (nvp != NULL) { | ||||
supports_nfsv4acls = | supports_nfsv4acls = | ||||
nfs_supportsnfsv4acls(nvp); | nfs_supportsnfsv4acls(nvp); | ||||
NFSVOPUNLOCK(nvp); | NFSVOPUNLOCK(nvp); | ||||
} else | } else | ||||
supports_nfsv4acls = 0; | supports_nfsv4acls = 0; | ||||
if (refp != NULL) { | if (refp != NULL) { | ||||
▲ Show 20 Lines • Show All 4,345 Lines • Show Last 20 Lines |