Lines Matching refs:nd

242 	struct nfsrv_descript nfsd, *nd = &nfsd;  in nfsrpc_null()  local
244 NFSCL_REQSTART(nd, NFSPROC_NULL, vp, NULL); in nfsrpc_null()
245 error = nfscl_request(nd, vp, p, cred); in nfsrpc_null()
246 if (nd->nd_repstat && !error) in nfsrpc_null()
247 error = nd->nd_repstat; in nfsrpc_null()
248 m_freem(nd->nd_mrep); in nfsrpc_null()
306 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_accessrpc() local
324 NFSCL_REQSTART(nd, NFSPROC_ACCESS, vp, cred); in nfsrpc_accessrpc()
327 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_accessrpc()
334 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_accessrpc()
336 error = nfscl_request(nd, vp, p, cred); in nfsrpc_accessrpc()
339 if (nd->nd_flag & ND_NFSV3) { in nfsrpc_accessrpc()
340 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_accessrpc()
344 if (!nd->nd_repstat) { in nfsrpc_accessrpc()
345 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_accessrpc()
352 if (nd->nd_flag & ND_NFSV4) in nfsrpc_accessrpc()
353 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_accessrpc()
363 error = nd->nd_repstat; in nfsrpc_accessrpc()
365 m_freem(nd->nd_mrep); in nfsrpc_accessrpc()
549 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_openrpc() local
559 nfscl_reqstart(nd, NFSPROC_OPEN, nmp, nfhp, fhlen, NULL, NULL, 0, 0, in nfsrpc_openrpc()
569 (void) nfsm_strtom(nd, op->nfso_own->nfsow_owner, NFSV4CL_LOCKNAMELEN); in nfsrpc_openrpc()
592 (void)nfsm_strtom(nd, name, namelen); in nfsrpc_openrpc()
597 (void)nfsm_strtom(nd, name, namelen); in nfsrpc_openrpc()
605 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_openrpc()
607 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_openrpc()
608 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, vp, p, cred, in nfsrpc_openrpc()
612 NFSCL_INCRSEQID(op->nfso_own->nfsow_seqid, nd); in nfsrpc_openrpc()
613 if (nd->nd_repstat == 0 || (nd->nd_repstat == NFSERR_DELAY && in nfsrpc_openrpc()
614 reclaim != 0 && (nd->nd_flag & ND_NOMOREDATA) == 0)) { in nfsrpc_openrpc()
622 error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); in nfsrpc_openrpc()
677 error = nfsrv_dissectace(nd, &ndp->nfsdl_ace, false, in nfsrpc_openrpc()
695 KASSERT(nd->nd_repstat == 0, in nfsrpc_openrpc()
697 error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, in nfsrpc_openrpc()
708 } else if (nd->nd_repstat == 0) { in nfsrpc_openrpc()
715 nd->nd_repstat = 0; in nfsrpc_openrpc()
759 if (nd->nd_repstat != 0 && error == 0) in nfsrpc_openrpc()
760 error = nd->nd_repstat; in nfsrpc_openrpc()
768 m_freem(nd->nd_mrep); in nfsrpc_openrpc()
780 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_opendowngrade() local
783 NFSCL_REQSTART(nd, NFSPROC_OPENDOWNGRADE, vp, cred); in nfsrpc_opendowngrade()
795 error = nfscl_request(nd, vp, p, cred); in nfsrpc_opendowngrade()
798 NFSCL_INCRSEQID(op->nfso_own->nfsow_seqid, nd); in nfsrpc_opendowngrade()
799 if (!nd->nd_repstat) { in nfsrpc_opendowngrade()
806 if (nd->nd_repstat && error == 0) in nfsrpc_opendowngrade()
807 error = nd->nd_repstat; in nfsrpc_opendowngrade()
811 m_freem(nd->nd_mrep); in nfsrpc_opendowngrade()
843 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_doclose() local
886 error = nfsrpc_locku(nd, nmp, lp, off, in nfsrpc_doclose()
888 if ((nd->nd_repstat == NFSERR_GRACE || in nfsrpc_doclose()
889 nd->nd_repstat == NFSERR_DELAY) && in nfsrpc_doclose()
892 (int)nd->nd_repstat, in nfsrpc_doclose()
894 } while ((nd->nd_repstat == NFSERR_GRACE || in nfsrpc_doclose()
895 nd->nd_repstat == NFSERR_DELAY) && in nfsrpc_doclose()
948 nfsrpc_closerpc(struct nfsrv_descript *nd, struct nfsmount *nmp, in nfsrpc_closerpc() argument
955 nfscl_reqstart(nd, NFSPROC_CLOSE, nmp, op->nfso_fh, in nfsrpc_closerpc()
969 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_closerpc()
970 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_closerpc()
975 NFSCL_INCRSEQID(op->nfso_own->nfsow_seqid, nd); in nfsrpc_closerpc()
976 if (nd->nd_repstat == 0) in nfsrpc_closerpc()
978 error = nd->nd_repstat; in nfsrpc_closerpc()
982 m_freem(nd->nd_mrep); in nfsrpc_closerpc()
994 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_openconfirm() local
1001 nfscl_reqstart(nd, NFSPROC_OPENCONFIRM, nmp, nfhp, fhlen, NULL, NULL, in nfsrpc_openconfirm()
1009 error = nfscl_request(nd, vp, p, cred); in nfsrpc_openconfirm()
1012 NFSCL_INCRSEQID(op->nfso_own->nfsow_seqid, nd); in nfsrpc_openconfirm()
1013 if (!nd->nd_repstat) { in nfsrpc_openconfirm()
1020 error = nd->nd_repstat; in nfsrpc_openconfirm()
1024 m_freem(nd->nd_mrep); in nfsrpc_openconfirm()
1038 struct nfsrv_descript *nd = &nfsd; in nfsrpc_setclient() local
1195 nfscl_reqstart(nd, NFSPROC_SETCLIENTID, nmp, NULL, 0, NULL, NULL, 0, 0, in nfsrpc_setclient()
1200 (void) nfsm_strtom(nd, clp->nfsc_id, clp->nfsc_idlen); in nfsrpc_setclient()
1219 (void) nfsm_strtom(nd, "tcp6", 4); in nfsrpc_setclient()
1231 (void) nfsm_strtom(nd, "tcp", 3); in nfsrpc_setclient()
1241 (void) nfsm_strtom(nd, addr, strlen(addr)); in nfsrpc_setclient()
1243 (void) nfsm_strtom(nd, "tcp", 3); in nfsrpc_setclient()
1244 (void) nfsm_strtom(nd, "0.0.0.0.0.0", 11); in nfsrpc_setclient()
1248 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_setclient()
1249 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_setclient()
1253 if (nd->nd_repstat == 0) { in nfsrpc_setclient()
1259 m_freem(nd->nd_mrep); in nfsrpc_setclient()
1260 nd->nd_mrep = NULL; in nfsrpc_setclient()
1265 nfscl_reqstart(nd, NFSPROC_SETCLIENTIDCFRM, nmp, NULL, 0, NULL, in nfsrpc_setclient()
1272 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_setclient()
1273 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, in nfsrpc_setclient()
1277 m_freem(nd->nd_mrep); in nfsrpc_setclient()
1278 nd->nd_mrep = NULL; in nfsrpc_setclient()
1280 error = nd->nd_repstat; in nfsrpc_setclient()
1282 m_freem(nd->nd_mrep); in nfsrpc_setclient()
1293 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_getattr() local
1310 NFSCL_REQSTART(nd, NFSPROC_GETATTR, vp, cred); in nfsrpc_getattr()
1311 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_getattr()
1313 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_getattr()
1315 error = nfscl_request(nd, vp, p, cred); in nfsrpc_getattr()
1318 if (!nd->nd_repstat) in nfsrpc_getattr()
1319 error = nfsm_loadattr(nd, nap); in nfsrpc_getattr()
1321 error = nd->nd_repstat; in nfsrpc_getattr()
1322 m_freem(nd->nd_mrep); in nfsrpc_getattr()
1334 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_getattrnovp() local
1338 nfscl_reqstart(nd, NFSPROC_GETATTR, nmp, fhp, fhlen, NULL, NULL, 0, 0, in nfsrpc_getattrnovp()
1340 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_getattrnovp()
1344 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_getattrnovp()
1345 } else if (nd->nd_flag & ND_NFSV3) { in nfsrpc_getattrnovp()
1349 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_getattrnovp()
1350 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_getattrnovp()
1354 if (nd->nd_repstat == 0) { in nfsrpc_getattrnovp()
1355 if ((nd->nd_flag & ND_NFSV4) != 0) in nfsrpc_getattrnovp()
1356 error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, in nfsrpc_getattrnovp()
1360 error = nfsm_loadattr(nd, nap); in nfsrpc_getattrnovp()
1362 error = nd->nd_repstat; in nfsrpc_getattrnovp()
1363 m_freem(nd->nd_mrep); in nfsrpc_getattrnovp()
1462 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_setattrrpc() local
1467 NFSCL_REQSTART(nd, NFSPROC_SETATTR, vp, cred); in nfsrpc_setattrrpc()
1468 if (nd->nd_flag & ND_NFSV4) in nfsrpc_setattrrpc()
1469 nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSTATEID); in nfsrpc_setattrrpc()
1471 nfscl_fillsattr(nd, vap, vp, NFSSATTR_FULL, 0); in nfsrpc_setattrrpc()
1472 if (nd->nd_flag & ND_NFSV3) { in nfsrpc_setattrrpc()
1475 } else if (nd->nd_flag & ND_NFSV4) { in nfsrpc_setattrrpc()
1479 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_setattrrpc()
1481 error = nfscl_request(nd, vp, p, cred); in nfsrpc_setattrrpc()
1484 if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) in nfsrpc_setattrrpc()
1485 error = nfscl_wcc_data(nd, vp, rnap, attrflagp, NULL, NULL); in nfsrpc_setattrrpc()
1486 if ((nd->nd_flag & (ND_NFSV4 | ND_NOMOREDATA)) == ND_NFSV4 && !error) in nfsrpc_setattrrpc()
1487 error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); in nfsrpc_setattrrpc()
1488 if (!(nd->nd_flag & ND_NFSV3) && !nd->nd_repstat && !error) in nfsrpc_setattrrpc()
1489 error = nfscl_postop_attr(nd, rnap, attrflagp); in nfsrpc_setattrrpc()
1490 m_freem(nd->nd_mrep); in nfsrpc_setattrrpc()
1491 if (nd->nd_repstat && !error) in nfsrpc_setattrrpc()
1492 error = nd->nd_repstat; in nfsrpc_setattrrpc()
1505 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_lookup() local
1540 NFSCL_REQSTART(nd, NFSPROC_LOOKUPP, dvp, cred); in nfsrpc_lookup()
1542 NFSCL_REQSTART(nd, NFSPROC_LOOKUPOPEN, dvp, cred); in nfsrpc_lookup()
1543 nfsm_strtom(nd, name, len); in nfsrpc_lookup()
1545 NFSCL_REQSTART(nd, NFSPROC_LOOKUP, dvp, cred); in nfsrpc_lookup()
1546 (void) nfsm_strtom(nd, name, len); in nfsrpc_lookup()
1548 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_lookup()
1553 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_lookup()
1560 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_lookup()
1574 nfsm_strtom(nd, own, NFSV4CL_LOCKNAMELEN); in nfsrpc_lookup()
1580 error = nfscl_request(nd, dvp, p, cred); in nfsrpc_lookup()
1584 if (nd->nd_repstat) { in nfsrpc_lookup()
1589 if (nd->nd_repstat == NFSERR_NOENT && lookupp) { in nfsrpc_lookup()
1596 m_freem(nd->nd_mrep); in nfsrpc_lookup()
1599 if (nd->nd_flag & ND_NFSV3) in nfsrpc_lookup()
1600 error = nfscl_postop_attr(nd, dnap, dattrflagp); in nfsrpc_lookup()
1601 else if ((nd->nd_flag & (ND_NFSV4 | ND_NOMOREDATA)) == in nfsrpc_lookup()
1604 error = nfsm_loadattr(nd, dnap); in nfsrpc_lookup()
1610 if (openmode != 0 && (nd->nd_flag & ND_NOMOREDATA) == 0) { in nfsrpc_lookup()
1616 if (openmode != 0 && (nd->nd_flag & ND_NOMOREDATA) == 0) { in nfsrpc_lookup()
1620 error = nfsm_getfh(nd, nfhpp); in nfsrpc_lookup()
1625 if (openmode != 0 && (nd->nd_flag & ND_NOMOREDATA) == 0) { in nfsrpc_lookup()
1629 error = nfsm_loadattr(nd, nap); in nfsrpc_lookup()
1635 nd->nd_repstat = 0; in nfsrpc_lookup()
1641 if ((nd->nd_flag & (ND_NFSV4 | ND_NOMOREDATA)) == ND_NFSV4) { in nfsrpc_lookup()
1643 error = nfsm_loadattr(nd, dnap); in nfsrpc_lookup()
1650 error = nfsm_getfh(nd, nfhpp); in nfsrpc_lookup()
1654 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_lookup()
1664 error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); in nfsrpc_lookup()
1733 if ((nd->nd_flag & ND_NFSV3) && !error) in nfsrpc_lookup()
1734 error = nfscl_postop_attr(nd, dnap, dattrflagp); in nfsrpc_lookup()
1736 m_freem(nd->nd_mrep); in nfsrpc_lookup()
1737 if (!error && nd->nd_repstat) in nfsrpc_lookup()
1738 error = nd->nd_repstat; in nfsrpc_lookup()
1751 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_readlink() local
1757 NFSCL_REQSTART(nd, NFSPROC_READLINK, vp, cred); in nfsrpc_readlink()
1758 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_readlink()
1765 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_readlink()
1767 error = nfscl_request(nd, vp, p, cred); in nfsrpc_readlink()
1770 if (nd->nd_flag & ND_NFSV3) in nfsrpc_readlink()
1771 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_readlink()
1772 if (!nd->nd_repstat && !error) { in nfsrpc_readlink()
1788 error = nfsm_mbufuio(nd, uiop, len); in nfsrpc_readlink()
1789 if ((nd->nd_flag & ND_NFSV4) && !error && cangetattr) in nfsrpc_readlink()
1790 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_readlink()
1792 if (nd->nd_repstat && !error) in nfsrpc_readlink()
1793 error = nd->nd_repstat; in nfsrpc_readlink()
1795 m_freem(nd->nd_mrep); in nfsrpc_readlink()
1879 struct nfsrv_descript *nd = &nfsd; in nfsrpc_readrpc() local
1893 nd->nd_mrep = NULL; in nfsrpc_readrpc()
1897 NFSCL_REQSTART(nd, NFSPROC_READ, vp, cred); in nfsrpc_readrpc()
1898 if (nd->nd_flag & ND_NFSV4) in nfsrpc_readrpc()
1899 nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSTATEID); in nfsrpc_readrpc()
1901 if (nd->nd_flag & ND_NFSV2) { in nfsrpc_readrpc()
1914 error = nfscl_request(nd, vp, p, cred); in nfsrpc_readrpc()
1917 if (nd->nd_flag & ND_NFSV3) { in nfsrpc_readrpc()
1918 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_readrpc()
1919 } else if (!nd->nd_repstat && (nd->nd_flag & ND_NFSV2)) { in nfsrpc_readrpc()
1920 error = nfsm_loadattr(nd, nap); in nfsrpc_readrpc()
1924 if (nd->nd_repstat || error) { in nfsrpc_readrpc()
1926 error = nd->nd_repstat; in nfsrpc_readrpc()
1929 if (nd->nd_flag & ND_NFSV3) { in nfsrpc_readrpc()
1932 } else if (nd->nd_flag & ND_NFSV4) { in nfsrpc_readrpc()
1937 error = nfsm_mbufuio(nd, uiop, retlen); in nfsrpc_readrpc()
1940 m_freem(nd->nd_mrep); in nfsrpc_readrpc()
1941 nd->nd_mrep = NULL; in nfsrpc_readrpc()
1943 if (!(nd->nd_flag & ND_NFSV2)) { in nfsrpc_readrpc()
1951 if (nd->nd_mrep != NULL) in nfsrpc_readrpc()
1952 m_freem(nd->nd_mrep); in nfsrpc_readrpc()
2058 struct nfsrv_descript *nd; in nfsrpc_writerpc() local
2078 nd = malloc(sizeof(*nd), M_TEMP, M_WAITOK); in nfsrpc_writerpc()
2079 nd->nd_mrep = NULL; /* NFSv2 sometimes does a write with */ in nfsrpc_writerpc()
2080 nd->nd_repstat = 0; /* uio_resid == 0, so the while is not done */ in nfsrpc_writerpc()
2085 NFSCL_REQSTART(nd, NFSPROC_APPENDWRITE, vp, cred); in nfsrpc_writerpc()
2087 NFSCL_REQSTART(nd, NFSPROC_WRITE, vp, cred); in nfsrpc_writerpc()
2088 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_writerpc()
2092 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_writerpc()
2099 nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSTATEID); in nfsrpc_writerpc()
2105 } else if (nd->nd_flag & ND_NFSV3) { in nfsrpc_writerpc()
2130 error = nfsm_uiombuf(nd, uiop, len); in nfsrpc_writerpc()
2132 m_freem(nd->nd_mreq); in nfsrpc_writerpc()
2133 free(nd, M_TEMP); in nfsrpc_writerpc()
2156 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_writerpc()
2160 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_writerpc()
2162 error = nfscl_request(nd, vp, p, cred); in nfsrpc_writerpc()
2164 free(nd, M_TEMP); in nfsrpc_writerpc()
2167 if (nd->nd_repstat) { in nfsrpc_writerpc()
2179 if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) { in nfsrpc_writerpc()
2180 error = nfscl_wcc_data(nd, vp, nap, attrflagp, in nfsrpc_writerpc()
2185 if ((nd->nd_flag & (ND_NFSV4 | ND_NOMOREDATA)) == in nfsrpc_writerpc()
2187 nd->nd_repstat == NFSERR_NOTSAME && do_append) { in nfsrpc_writerpc()
2196 m_freem(nd->nd_mrep); in nfsrpc_writerpc()
2197 nd->nd_mrep = NULL; in nfsrpc_writerpc()
2200 nd->nd_repstat = EFBIG; in nfsrpc_writerpc()
2202 if (!nd->nd_repstat) { in nfsrpc_writerpc()
2208 if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) { in nfsrpc_writerpc()
2249 if (nd->nd_flag & ND_NFSV4) in nfsrpc_writerpc()
2251 if (nd->nd_flag & (ND_NFSV2 | ND_NFSV4)) { in nfsrpc_writerpc()
2252 error = nfsm_loadattr(nd, nap); in nfsrpc_writerpc()
2257 error = nd->nd_repstat; in nfsrpc_writerpc()
2261 NFSWRITERPC_SETTIME(wccflag, np, nap, (nd->nd_flag & ND_NFSV4)); in nfsrpc_writerpc()
2262 m_freem(nd->nd_mrep); in nfsrpc_writerpc()
2263 nd->nd_mrep = NULL; in nfsrpc_writerpc()
2267 if (nd->nd_mrep != NULL) in nfsrpc_writerpc()
2268 m_freem(nd->nd_mrep); in nfsrpc_writerpc()
2270 if (nd->nd_repstat && !error) in nfsrpc_writerpc()
2271 error = nd->nd_repstat; in nfsrpc_writerpc()
2272 free(nd, M_TEMP); in nfsrpc_writerpc()
2352 struct nfsrv_descript *nd = &nfsd; in nfsrpc_deallocaterpc() local
2356 NFSCL_REQSTART(nd, NFSPROC_DEALLOCATE, vp, cred); in nfsrpc_deallocaterpc()
2357 nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSTATEID); in nfsrpc_deallocaterpc()
2365 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_deallocaterpc()
2366 error = nfscl_request(nd, vp, p, cred); in nfsrpc_deallocaterpc()
2370 error = nfscl_wcc_data(nd, vp, nap, attrflagp, &wccflag, NULL); in nfsrpc_deallocaterpc()
2373 if (nd->nd_repstat == 0) { in nfsrpc_deallocaterpc()
2375 error = nfsm_loadattr(nd, nap); in nfsrpc_deallocaterpc()
2382 m_freem(nd->nd_mrep); in nfsrpc_deallocaterpc()
2383 if (nd->nd_repstat != 0 && error == 0) in nfsrpc_deallocaterpc()
2384 error = nd->nd_repstat; in nfsrpc_deallocaterpc()
2401 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_mknod() local
2409 NFSCL_REQSTART(nd, NFSPROC_MKNOD, dvp, cred); in nfsrpc_mknod()
2410 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_mknod()
2421 (void) nfsm_strtom(nd, name, namelen); in nfsrpc_mknod()
2422 if (nd->nd_flag & ND_NFSV3) { in nfsrpc_mknod()
2426 if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) in nfsrpc_mknod()
2427 nfscl_fillsattr(nd, vap, dvp, NFSSATTR_NEWFILE, 0); in nfsrpc_mknod()
2428 if ((nd->nd_flag & ND_NFSV3) && in nfsrpc_mknod()
2434 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_mknod()
2439 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_mknod()
2441 if (nd->nd_flag & ND_NFSV2) in nfsrpc_mknod()
2442 nfscl_fillsattr(nd, vap, dvp, NFSSATTR_SIZERDEV, rdev); in nfsrpc_mknod()
2443 error = nfscl_request(nd, dvp, p, cred); in nfsrpc_mknod()
2446 if (nd->nd_flag & ND_NFSV4) in nfsrpc_mknod()
2447 error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, NULL); in nfsrpc_mknod()
2448 if (!nd->nd_repstat) { in nfsrpc_mknod()
2449 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_mknod()
2451 error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); in nfsrpc_mknod()
2455 error = nfscl_mtofh(nd, nfhpp, nnap, attrflagp); in nfsrpc_mknod()
2459 if (nd->nd_flag & ND_NFSV3) in nfsrpc_mknod()
2460 error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, NULL); in nfsrpc_mknod()
2461 if (!error && nd->nd_repstat) in nfsrpc_mknod()
2462 error = nd->nd_repstat; in nfsrpc_mknod()
2464 m_freem(nd->nd_mrep); in nfsrpc_mknod()
2551 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_createv23() local
2558 NFSCL_REQSTART(nd, NFSPROC_CREATE, dvp, cred); in nfsrpc_createv23()
2559 (void) nfsm_strtom(nd, name, namelen); in nfsrpc_createv23()
2560 if (nd->nd_flag & ND_NFSV3) { in nfsrpc_createv23()
2569 nfscl_fillsattr(nd, vap, dvp, 0, 0); in nfsrpc_createv23()
2572 nfscl_fillsattr(nd, vap, dvp, NFSSATTR_SIZE0, 0); in nfsrpc_createv23()
2574 error = nfscl_request(nd, dvp, p, cred); in nfsrpc_createv23()
2577 if (nd->nd_repstat == 0) { in nfsrpc_createv23()
2578 error = nfscl_mtofh(nd, nfhpp, nnap, attrflagp); in nfsrpc_createv23()
2582 if (nd->nd_flag & ND_NFSV3) in nfsrpc_createv23()
2583 error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, NULL); in nfsrpc_createv23()
2584 if (nd->nd_repstat != 0 && error == 0) in nfsrpc_createv23()
2585 error = nd->nd_repstat; in nfsrpc_createv23()
2587 m_freem(nd->nd_mrep); in nfsrpc_createv23()
2600 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_createv4() local
2620 NFSCL_REQSTART(nd, NFSPROC_CREATE, dvp, cred); in nfsrpc_createv4()
2641 (void) nfsm_strtom(nd, owp->nfsow_owner, NFSV4CL_LOCKNAMELEN); in nfsrpc_createv4()
2649 nfscl_fillsattr(nd, vap, dvp, NFSSATTR_NEWFILE, in nfsrpc_createv4()
2657 nfscl_fillsattr(nd, vap, dvp, NFSSATTR_NEWFILE, in nfsrpc_createv4()
2669 nfscl_fillsattr(nd, vap, dvp, NFSSATTR_NEWFILE, 0); in nfsrpc_createv4()
2673 (void) nfsm_strtom(nd, name, namelen); in nfsrpc_createv4()
2679 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_createv4()
2683 (void)nfsm_fhtom(nmp, nd, np->n_fhp->nfh_fh, np->n_fhp->nfh_len, 0); in nfsrpc_createv4()
2686 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_createv4()
2687 error = nfscl_request(nd, dvp, p, cred); in nfsrpc_createv4()
2690 NFSCL_INCRSEQID(owp->nfsow_seqid, nd); in nfsrpc_createv4()
2691 if (nd->nd_repstat == 0) { in nfsrpc_createv4()
2699 error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); in nfsrpc_createv4()
2752 error = nfsrv_dissectace(nd, &dp->nfsdl_ace, false, in nfsrpc_createv4()
2767 error = nfscl_mtofh(nd, nfhpp, nnap, attrflagp); in nfsrpc_createv4()
2773 error = nfsm_loadattr(nd, dnap); in nfsrpc_createv4()
2845 if (nd->nd_repstat != 0 && error == 0) in nfsrpc_createv4()
2846 error = nd->nd_repstat; in nfsrpc_createv4()
2854 m_freem(nd->nd_mrep); in nfsrpc_createv4()
2866 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_remove() local
2880 NFSCL_REQSTART(nd, NFSPROC_RETDELEGREMOVE, vp, cred); in nfsrpc_remove()
2892 (void)nfsm_fhtom(nmp, nd, np->n_fhp->nfh_fh, in nfsrpc_remove()
2901 NFSCL_REQSTART(nd, NFSPROC_REMOVE, dvp, cred); in nfsrpc_remove()
2902 (void) nfsm_strtom(nd, name, namelen); in nfsrpc_remove()
2903 error = nfscl_request(nd, dvp, p, cred); in nfsrpc_remove()
2906 if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) { in nfsrpc_remove()
2908 if (ret > 0 && nd->nd_repstat != 0 && in nfsrpc_remove()
2909 (nd->nd_flag & ND_NOMOREDATA)) { in nfsrpc_remove()
2914 m_freem(nd->nd_mrep); in nfsrpc_remove()
2918 if ((nd->nd_flag & (ND_NFSV4 | ND_NOMOREDATA)) == in nfsrpc_remove()
2922 nd->nd_flag |= ND_NOMOREDATA; in nfsrpc_remove()
2925 error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, NULL); in nfsrpc_remove()
2927 if (nd->nd_repstat && !error) in nfsrpc_remove()
2928 error = nd->nd_repstat; in nfsrpc_remove()
2930 m_freem(nd->nd_mrep); in nfsrpc_remove()
2944 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_rename() local
2961 NFSCL_REQSTART(nd, NFSPROC_RETDELEGRENAME2, fvp, cred); in nfsrpc_rename()
2963 NFSCL_REQSTART(nd, NFSPROC_RETDELEGRENAME1, fvp, cred); in nfsrpc_rename()
2965 NFSCL_REQSTART(nd, NFSPROC_RETDELEGRENAME1, tvp, cred); in nfsrpc_rename()
2980 (void)nfsm_fhtom(nmp, nd, np->n_fhp->nfh_fh, in nfsrpc_rename()
3000 (void)nfsm_fhtom(nmp, nd, np->n_fhp->nfh_fh, in nfsrpc_rename()
3009 NFSCL_REQSTART(nd, NFSPROC_RENAME, fdvp, cred); in nfsrpc_rename()
3010 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_rename()
3014 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_rename()
3017 (void)nfsm_fhtom(nmp, nd, VTONFS(tdvp)->n_fhp->nfh_fh, in nfsrpc_rename()
3021 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_rename()
3022 nd->nd_flag |= ND_V4WCCATTR; in nfsrpc_rename()
3026 (void) nfsm_strtom(nd, fnameptr, fnamelen); in nfsrpc_rename()
3027 if (!(nd->nd_flag & ND_NFSV4)) in nfsrpc_rename()
3028 (void)nfsm_fhtom(nmp, nd, VTONFS(tdvp)->n_fhp->nfh_fh, in nfsrpc_rename()
3030 (void) nfsm_strtom(nd, tnameptr, tnamelen); in nfsrpc_rename()
3031 error = nfscl_request(nd, fdvp, p, cred); in nfsrpc_rename()
3034 if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) { in nfsrpc_rename()
3036 if (ret > 0 && nd->nd_repstat != 0 && in nfsrpc_rename()
3037 (nd->nd_flag & ND_NOMOREDATA)) { in nfsrpc_rename()
3042 m_freem(nd->nd_mrep); in nfsrpc_rename()
3046 if ((nd->nd_flag & (ND_NFSV4 | ND_NOMOREDATA)) == in nfsrpc_rename()
3058 m_freem(nd->nd_mrep); in nfsrpc_rename()
3061 nd->nd_flag |= ND_NOMOREDATA; in nfsrpc_rename()
3067 if ((nd->nd_flag & (ND_NFSV4 | ND_NOMOREDATA)) == ND_NFSV4) { in nfsrpc_rename()
3070 nd->nd_flag |= ND_NOMOREDATA; in nfsrpc_rename()
3072 error = nfscl_wcc_data(nd, fdvp, fnap, fattrflagp, NULL, NULL); in nfsrpc_rename()
3074 if ((nd->nd_flag & (ND_NFSV4 | ND_NOMOREDATA)) == ND_NFSV4 && in nfsrpc_rename()
3078 nd->nd_flag |= ND_NOMOREDATA; in nfsrpc_rename()
3081 error = nfscl_wcc_data(nd, tdvp, tnap, tattrflagp, in nfsrpc_rename()
3084 if (nd->nd_repstat && !error) in nfsrpc_rename()
3085 error = nd->nd_repstat; in nfsrpc_rename()
3087 m_freem(nd->nd_mrep); in nfsrpc_rename()
3100 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_link() local
3108 NFSCL_REQSTART(nd, NFSPROC_LINK, vp, cred); in nfsrpc_link()
3109 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_link()
3113 (void)nfsm_fhtom(VFSTONFS(dvp->v_mount), nd, VTONFS(dvp)->n_fhp->nfh_fh, in nfsrpc_link()
3115 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_link()
3119 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_link()
3120 nd->nd_flag |= ND_V4WCCATTR; in nfsrpc_link()
3124 (void) nfsm_strtom(nd, name, namelen); in nfsrpc_link()
3125 error = nfscl_request(nd, vp, p, cred); in nfsrpc_link()
3128 if (nd->nd_flag & ND_NFSV3) { in nfsrpc_link()
3129 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_link()
3131 error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, in nfsrpc_link()
3133 } else if ((nd->nd_flag & (ND_NFSV4 | ND_NOMOREDATA)) == ND_NFSV4) { in nfsrpc_link()
3141 nd->nd_flag |= ND_NOMOREDATA; in nfsrpc_link()
3145 error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, NULL); in nfsrpc_link()
3147 if (nd->nd_repstat && !error) in nfsrpc_link()
3148 error = nd->nd_repstat; in nfsrpc_link()
3150 m_freem(nd->nd_mrep); in nfsrpc_link()
3164 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_symlink() local
3175 NFSCL_REQSTART(nd, NFSPROC_SYMLINK, dvp, cred); in nfsrpc_symlink()
3176 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_symlink()
3179 (void) nfsm_strtom(nd, target, slen); in nfsrpc_symlink()
3181 (void) nfsm_strtom(nd, name, namelen); in nfsrpc_symlink()
3182 if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) in nfsrpc_symlink()
3183 nfscl_fillsattr(nd, vap, dvp, 0, 0); in nfsrpc_symlink()
3184 if (!(nd->nd_flag & ND_NFSV4)) in nfsrpc_symlink()
3185 (void) nfsm_strtom(nd, target, slen); in nfsrpc_symlink()
3186 if (nd->nd_flag & ND_NFSV2) in nfsrpc_symlink()
3187 nfscl_fillsattr(nd, vap, dvp, NFSSATTR_SIZENEG1, 0); in nfsrpc_symlink()
3188 error = nfscl_request(nd, dvp, p, cred); in nfsrpc_symlink()
3191 if (nd->nd_flag & ND_NFSV4) in nfsrpc_symlink()
3192 error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, NULL); in nfsrpc_symlink()
3193 if ((nd->nd_flag & ND_NFSV3) && !error) { in nfsrpc_symlink()
3194 if (!nd->nd_repstat) in nfsrpc_symlink()
3195 error = nfscl_mtofh(nd, nfhpp, nnap, attrflagp); in nfsrpc_symlink()
3197 error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, in nfsrpc_symlink()
3200 if (nd->nd_repstat && !error) in nfsrpc_symlink()
3201 error = nd->nd_repstat; in nfsrpc_symlink()
3202 m_freem(nd->nd_mrep); in nfsrpc_symlink()
3225 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_mkdir() local
3238 NFSCL_REQSTART(nd, NFSPROC_MKDIR, dvp, cred); in nfsrpc_mkdir()
3239 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_mkdir()
3243 (void) nfsm_strtom(nd, name, namelen); in nfsrpc_mkdir()
3244 nfscl_fillsattr(nd, vap, dvp, NFSSATTR_SIZENEG1 | NFSSATTR_NEWFILE, 0); in nfsrpc_mkdir()
3245 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_mkdir()
3250 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_mkdir()
3253 (void)nfsm_fhtom(nmp, nd, fhp->nfh_fh, fhp->nfh_len, 0); in nfsrpc_mkdir()
3256 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_mkdir()
3258 error = nfscl_request(nd, dvp, p, cred); in nfsrpc_mkdir()
3261 if (nd->nd_flag & ND_NFSV4) in nfsrpc_mkdir()
3262 error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, NULL); in nfsrpc_mkdir()
3263 if (!nd->nd_repstat && !error) { in nfsrpc_mkdir()
3264 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_mkdir()
3266 error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); in nfsrpc_mkdir()
3269 error = nfscl_mtofh(nd, nfhpp, nnap, attrflagp); in nfsrpc_mkdir()
3270 if (error == 0 && (nd->nd_flag & ND_NFSV4) != 0) { in nfsrpc_mkdir()
3274 error = nfsm_loadattr(nd, dnap); in nfsrpc_mkdir()
3279 if ((nd->nd_flag & ND_NFSV3) && !error) in nfsrpc_mkdir()
3280 error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, NULL); in nfsrpc_mkdir()
3281 if (nd->nd_repstat && !error) in nfsrpc_mkdir()
3282 error = nd->nd_repstat; in nfsrpc_mkdir()
3284 m_freem(nd->nd_mrep); in nfsrpc_mkdir()
3304 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_rmdir() local
3310 NFSCL_REQSTART(nd, NFSPROC_RMDIR, dvp, cred); in nfsrpc_rmdir()
3311 (void) nfsm_strtom(nd, name, namelen); in nfsrpc_rmdir()
3312 error = nfscl_request(nd, dvp, p, cred); in nfsrpc_rmdir()
3315 if (nd->nd_flag & (ND_NFSV3 | ND_NFSV4)) in nfsrpc_rmdir()
3316 error = nfscl_wcc_data(nd, dvp, dnap, dattrflagp, NULL, NULL); in nfsrpc_rmdir()
3317 if (nd->nd_repstat && !error) in nfsrpc_rmdir()
3318 error = nd->nd_repstat; in nfsrpc_rmdir()
3319 m_freem(nd->nd_mrep); in nfsrpc_rmdir()
3393 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_readdir() local
3425 nd->nd_mrep = NULL; in nfsrpc_readdir()
3455 NFSCL_REQSTART(nd, NFSPROC_LOOKUPP, vp, cred); in nfsrpc_readdir()
3459 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_readdir()
3460 error = nfscl_request(nd, vp, p, cred); in nfsrpc_readdir()
3464 if ((nd->nd_flag & ND_NOMOREDATA) == 0) { in nfsrpc_readdir()
3465 error = nfsm_loadattr(nd, &nfsva); in nfsrpc_readdir()
3470 if (nd->nd_repstat == 0) { in nfsrpc_readdir()
3474 error = nfsm_advance(nd, NFSM_RNDUP(len), -1); in nfsrpc_readdir()
3480 error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, in nfsrpc_readdir()
3503 } else if (nd->nd_repstat == NFSERR_NOENT) { in nfsrpc_readdir()
3508 nd->nd_repstat = 0; in nfsrpc_readdir()
3511 error = nd->nd_repstat; in nfsrpc_readdir()
3513 m_freem(nd->nd_mrep); in nfsrpc_readdir()
3516 nd->nd_mrep = NULL; in nfsrpc_readdir()
3572 NFSCL_REQSTART(nd, NFSPROC_READDIR, vp, cred); in nfsrpc_readdir()
3573 if (nd->nd_flag & ND_NFSV2) { in nfsrpc_readdir()
3590 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_readdir()
3593 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_readdir()
3596 (void) nfsrv_putattrbit(nd, &dattrbits); in nfsrpc_readdir()
3601 error = nfscl_request(nd, vp, p, cred); in nfsrpc_readdir()
3604 if (!(nd->nd_flag & ND_NFSV2)) { in nfsrpc_readdir()
3605 if (nd->nd_flag & ND_NFSV3) in nfsrpc_readdir()
3606 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_readdir()
3607 if (!nd->nd_repstat && !error) { in nfsrpc_readdir()
3615 if (nd->nd_repstat || error) { in nfsrpc_readdir()
3617 error = nd->nd_repstat; in nfsrpc_readdir()
3628 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_readdir()
3633 } else if (nd->nd_flag & ND_NFSV3) { in nfsrpc_readdir()
3693 error = nfsm_mbufuio(nd, uiop, len); in nfsrpc_readdir()
3698 (nd->nd_flag & ND_NFSV4) != 0, cp, len)) { in nfsrpc_readdir()
3723 error = nfsm_advance(nd, NFSM_RNDUP(len), -1); in nfsrpc_readdir()
3727 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_readdir()
3730 error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, in nfsrpc_readdir()
3736 } else if (nd->nd_flag & ND_NFSV3) { in nfsrpc_readdir()
3746 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_readdir()
3787 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_readdir()
3788 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_readdir()
3793 m_freem(nd->nd_mrep); in nfsrpc_readdir()
3794 nd->nd_mrep = NULL; in nfsrpc_readdir()
3845 if (nd->nd_mrep != NULL) in nfsrpc_readdir()
3846 m_freem(nd->nd_mrep); in nfsrpc_readdir()
3864 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_readdirplus() local
3898 nd->nd_mrep = NULL; in nfsrpc_readdirplus()
3929 NFSCL_REQSTART(nd, NFSPROC_LOOKUPP, vp, cred); in nfsrpc_readdirplus()
3933 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_readdirplus()
3934 error = nfscl_request(nd, vp, p, cred); in nfsrpc_readdirplus()
3938 if ((nd->nd_flag & ND_NOMOREDATA) == 0) { in nfsrpc_readdirplus()
3939 error = nfsm_loadattr(nd, &nfsva); in nfsrpc_readdirplus()
3945 if (nd->nd_repstat == 0) { in nfsrpc_readdirplus()
3949 error = nfsm_advance(nd, NFSM_RNDUP(len), -1); in nfsrpc_readdirplus()
3955 error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, in nfsrpc_readdirplus()
3978 } else if (nd->nd_repstat == NFSERR_NOENT) { in nfsrpc_readdirplus()
3983 nd->nd_repstat = 0; in nfsrpc_readdirplus()
3986 error = nd->nd_repstat; in nfsrpc_readdirplus()
3988 m_freem(nd->nd_mrep); in nfsrpc_readdirplus()
3991 nd->nd_mrep = NULL; in nfsrpc_readdirplus()
4051 NFSCL_REQSTART(nd, NFSPROC_READDIRPLUS, vp, cred); in nfsrpc_readdirplus()
4066 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_readdirplus()
4067 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_readdirplus()
4070 (void) nfsrv_putattrbit(nd, &dattrbits); in nfsrpc_readdirplus()
4073 error = nfscl_request(nd, vp, p, cred); in nfsrpc_readdirplus()
4076 if (nd->nd_flag & ND_NFSV3) in nfsrpc_readdirplus()
4077 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_readdirplus()
4078 if (nd->nd_repstat || error) { in nfsrpc_readdirplus()
4080 error = nd->nd_repstat; in nfsrpc_readdirplus()
4083 if ((nd->nd_flag & ND_NFSV3) != 0 && *attrflagp != 0) in nfsrpc_readdirplus()
4098 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_readdirplus()
4158 error = nfsm_mbufuio(nd, uiop, len); in nfsrpc_readdirplus()
4163 (nd->nd_flag & ND_NFSV4) != 0, cp, len)) { in nfsrpc_readdirplus()
4194 error = nfsm_advance(nd, NFSM_RNDUP(len), -1); in nfsrpc_readdirplus()
4199 if (nd->nd_flag & ND_NFSV3) { in nfsrpc_readdirplus()
4205 error = nfsm_loadattr(nd, &nfsva); in nfsrpc_readdirplus()
4211 error = nfsm_getfh(nd, &nfhp); in nfsrpc_readdirplus()
4222 error = nfsv4_loadattr(nd, NULL, &nfsva, &nfhp, in nfsrpc_readdirplus()
4230 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_readdirplus()
4358 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_readdirplus()
4359 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_readdirplus()
4364 m_freem(nd->nd_mrep); in nfsrpc_readdirplus()
4365 nd->nd_mrep = NULL; in nfsrpc_readdirplus()
4416 if (nd->nd_mrep != NULL) in nfsrpc_readdirplus()
4417 m_freem(nd->nd_mrep); in nfsrpc_readdirplus()
4429 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_commit() local
4435 NFSCL_REQSTART(nd, NFSPROC_COMMIT, vp, cred); in nfsrpc_commit()
4440 if (nd->nd_flag & ND_NFSV4) { in nfsrpc_commit()
4447 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_commit()
4449 error = nfscl_request(nd, vp, p, cred); in nfsrpc_commit()
4452 error = nfscl_wcc_data(nd, vp, nap, attrflagp, NULL, NULL); in nfsrpc_commit()
4453 if (!error && !nd->nd_repstat) { in nfsrpc_commit()
4458 nd->nd_repstat = NFSERR_STALEWRITEVERF; in nfsrpc_commit()
4461 if (nd->nd_flag & ND_NFSV4) in nfsrpc_commit()
4462 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_commit()
4465 if (!error && nd->nd_repstat) in nfsrpc_commit()
4466 error = nd->nd_repstat; in nfsrpc_commit()
4467 m_freem(nd->nd_mrep); in nfsrpc_commit()
4482 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_advlock() local
4524 nd->nd_repstat = 0; in nfsrpc_advlock()
4532 error = nfsrpc_lockt(nd, vp, clp, off, len, fl, cred, in nfsrpc_advlock()
4578 error = nfsrpc_locku(nd, nmp, lp, off, len, in nfsrpc_advlock()
4580 if ((nd->nd_repstat == NFSERR_GRACE || in nfsrpc_advlock()
4581 nd->nd_repstat == NFSERR_DELAY) && in nfsrpc_advlock()
4583 (void) nfs_catnap(PZERO, (int)nd->nd_repstat, in nfsrpc_advlock()
4585 } while ((nd->nd_repstat == NFSERR_GRACE || in nfsrpc_advlock()
4586 nd->nd_repstat == NFSERR_DELAY) && error == 0); in nfsrpc_advlock()
4589 } while (error == 0 && nd->nd_repstat == 0); in nfsrpc_advlock()
4606 error = nfsrpc_lock(nd, nmp, vp, nfhp->nfh_fh, in nfsrpc_advlock()
4611 error = nd->nd_repstat; in nfsrpc_advlock()
4617 error = nd->nd_repstat; in nfsrpc_advlock()
4643 nfsrpc_lockt(struct nfsrv_descript *nd, vnode_t vp, in nfsrpc_lockt() argument
4655 NFSCL_REQSTART(nd, NFSPROC_LOCKT, vp, cred); in nfsrpc_lockt()
4672 (void)nfsm_strtom(nd, own, NFSV4CL_LOCKNAMELEN + np->n_fhp->nfh_len); in nfsrpc_lockt()
4673 error = nfscl_request(nd, vp, p, cred); in nfsrpc_lockt()
4676 if (nd->nd_repstat == 0) { in nfsrpc_lockt()
4678 } else if (nd->nd_repstat == NFSERR_DENIED) { in nfsrpc_lockt()
4679 nd->nd_repstat = 0; in nfsrpc_lockt()
4706 error = nfsm_advance(nd, NFSM_RNDUP(size), -1); in nfsrpc_lockt()
4707 } else if (nd->nd_repstat == NFSERR_STALECLIENTID) in nfsrpc_lockt()
4710 m_freem(nd->nd_mrep); in nfsrpc_lockt()
4718 nfsrpc_locku(struct nfsrv_descript *nd, struct nfsmount *nmp, in nfsrpc_locku() argument
4725 nfscl_reqstart(nd, NFSPROC_LOCKU, nmp, lp->nfsl_open->nfso_fh, in nfsrpc_locku()
4745 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_locku()
4746 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_locku()
4748 NFSCL_INCRSEQID(lp->nfsl_seqid, nd); in nfsrpc_locku()
4751 if (nd->nd_repstat == 0) { in nfsrpc_locku()
4757 } else if (nd->nd_repstat == NFSERR_STALESTATEID) in nfsrpc_locku()
4760 m_freem(nd->nd_mrep); in nfsrpc_locku()
4768 nfsrpc_lock(struct nfsrv_descript *nd, struct nfsmount *nmp, vnode_t vp, in nfsrpc_lock() argument
4778 nfscl_reqstart(nd, NFSPROC_LOCK, nmp, nfhp, fhlen, NULL, NULL, 0, 0, in nfsrpc_lock()
4808 (void)nfsm_strtom(nd, own, NFSV4CL_LOCKNAMELEN + fhlen); in nfsrpc_lock()
4825 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_lock()
4826 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, vp, p, cred, in nfsrpc_lock()
4831 NFSCL_INCRSEQID(lp->nfsl_open->nfso_own->nfsow_seqid, nd); in nfsrpc_lock()
4832 NFSCL_INCRSEQID(lp->nfsl_seqid, nd); in nfsrpc_lock()
4833 if (nd->nd_repstat == 0) { in nfsrpc_lock()
4839 } else if (nd->nd_repstat == NFSERR_DENIED) { in nfsrpc_lock()
4845 error = nfsm_advance(nd, NFSM_RNDUP(size), -1); in nfsrpc_lock()
4846 } else if (nd->nd_repstat == NFSERR_STALESTATEID) in nfsrpc_lock()
4849 m_freem(nd->nd_mrep); in nfsrpc_lock()
4863 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_statfs() local
4874 NFSCL_REQSTART(nd, NFSPROC_GETATTR, vp, cred); in nfsrpc_statfs()
4879 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_statfs()
4880 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_statfs()
4881 error = nfscl_request(nd, vp, p, cred); in nfsrpc_statfs()
4884 if (nd->nd_repstat == 0) { in nfsrpc_statfs()
4885 error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, in nfsrpc_statfs()
4895 error = nd->nd_repstat; in nfsrpc_statfs()
4900 NFSCL_REQSTART(nd, NFSPROC_FSSTAT, vp, NULL); in nfsrpc_statfs()
4901 error = nfscl_request(nd, vp, p, cred); in nfsrpc_statfs()
4904 if (nd->nd_flag & ND_NFSV3) { in nfsrpc_statfs()
4905 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_statfs()
4909 if (nd->nd_repstat) { in nfsrpc_statfs()
4910 error = nd->nd_repstat; in nfsrpc_statfs()
4914 NFSX_STATFS(nd->nd_flag & ND_NFSV3)); in nfsrpc_statfs()
4932 m_freem(nd->nd_mrep); in nfsrpc_statfs()
4943 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_pathconf() local
4968 NFSCL_REQSTART(nd, NFSPROC_GETATTR, vp, cred); in nfsrpc_pathconf()
4970 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_pathconf()
4971 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_pathconf()
4972 error = nfscl_request(nd, vp, p, cred); in nfsrpc_pathconf()
4975 if (nd->nd_repstat == 0) { in nfsrpc_pathconf()
4976 error = nfsv4_loadattr(nd, NULL, nap, NULL, NULL, 0, in nfsrpc_pathconf()
4982 error = nd->nd_repstat; in nfsrpc_pathconf()
4985 NFSCL_REQSTART(nd, NFSPROC_PATHCONF, vp, NULL); in nfsrpc_pathconf()
4986 error = nfscl_request(nd, vp, p, cred); in nfsrpc_pathconf()
4989 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_pathconf()
4990 if (nd->nd_repstat && !error) in nfsrpc_pathconf()
4991 error = nd->nd_repstat; in nfsrpc_pathconf()
5005 m_freem(nd->nd_mrep); in nfsrpc_pathconf()
5017 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_fsinfo() local
5021 NFSCL_REQSTART(nd, NFSPROC_FSINFO, vp, NULL); in nfsrpc_fsinfo()
5022 error = nfscl_request(nd, vp, p, cred); in nfsrpc_fsinfo()
5025 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_fsinfo()
5026 if (nd->nd_repstat && !error) in nfsrpc_fsinfo()
5027 error = nd->nd_repstat; in nfsrpc_fsinfo()
5044 m_freem(nd->nd_mrep); in nfsrpc_fsinfo()
5057 struct nfsrv_descript *nd = &nfsd; in nfsrpc_renew() local
5067 nfscl_reqstart(nd, NFSPROC_RENEW, nmp, NULL, 0, NULL, NULL, 0, in nfsrpc_renew()
5070 nfscl_reqstart(nd, NFSPROC_RENEW, nmp, NULL, 0, NULL, in nfsrpc_renew()
5085 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_renew()
5087 error = newnfs_request(nd, nmp, NULL, nrp, NULL, p, cred, in nfsrpc_renew()
5090 error = newnfs_request(nd, nmp, NULL, nrp, NULL, p, cred, in nfsrpc_renew()
5097 error = nd->nd_repstat; in nfsrpc_renew()
5098 m_freem(nd->nd_mrep); in nfsrpc_renew()
5109 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_rellockown() local
5117 nfscl_reqstart(nd, NFSPROC_FREESTATEID, nmp, NULL, 0, NULL, in nfsrpc_rellockown()
5119 nfsm_stateidtom(nd, &lp->nfsl_stateid, NFSSTATEID_PUTSTATEID); in nfsrpc_rellockown()
5121 nfscl_reqstart(nd, NFSPROC_RELEASELCKOWN, nmp, NULL, 0, NULL, in nfsrpc_rellockown()
5129 (void)nfsm_strtom(nd, own, NFSV4CL_LOCKNAMELEN + fhlen); in nfsrpc_rellockown()
5131 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_rellockown()
5132 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_rellockown()
5136 error = nd->nd_repstat; in nfsrpc_rellockown()
5137 m_freem(nd->nd_mrep); in nfsrpc_rellockown()
5150 struct nfsrv_descript *nd = &nfsd; in nfsrpc_getdirpath() local
5155 nfscl_reqstart(nd, NFSPROC_PUTROOTFH, nmp, NULL, 0, &opcntp, NULL, 0, in nfsrpc_getdirpath()
5173 nfsm_strtom(nd, cp, strlen(cp)); in nfsrpc_getdirpath()
5187 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_getdirpath()
5188 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_getdirpath()
5192 if (nd->nd_repstat == 0) { in nfsrpc_getdirpath()
5197 nd->nd_repstat = NFSERR_BADXDR; in nfsrpc_getdirpath()
5200 nd->nd_repstat = nfsrv_mtostr(nd, fhp, len); in nfsrpc_getdirpath()
5201 if (nd->nd_repstat == 0) { in nfsrpc_getdirpath()
5212 error = nd->nd_repstat; in nfsrpc_getdirpath()
5214 m_freem(nd->nd_mrep); in nfsrpc_getdirpath()
5227 struct nfsrv_descript *nd = &nfsd; in nfsrpc_delegreturn() local
5230 nfscl_reqstart(nd, NFSPROC_DELEGRETURN, nmp, dp->nfsdl_fh, in nfsrpc_delegreturn()
5241 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_delegreturn()
5242 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_delegreturn()
5246 error = nd->nd_repstat; in nfsrpc_delegreturn()
5247 m_freem(nd->nd_mrep); in nfsrpc_delegreturn()
5257 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_getacl() local
5264 NFSCL_REQSTART(nd, NFSPROC_GETACL, vp, cred); in nfsrpc_getacl()
5267 (void) nfsrv_putattrbit(nd, &attrbits); in nfsrpc_getacl()
5268 error = nfscl_request(nd, vp, p, cred); in nfsrpc_getacl()
5271 if (!nd->nd_repstat) in nfsrpc_getacl()
5272 error = nfsv4_loadattr(nd, vp, NULL, NULL, NULL, 0, NULL, in nfsrpc_getacl()
5275 error = nd->nd_repstat; in nfsrpc_getacl()
5276 m_freem(nd->nd_mrep); in nfsrpc_getacl()
5302 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_setaclrpc() local
5309 NFSCL_REQSTART(nd, NFSPROC_SETACL, vp, cred); in nfsrpc_setaclrpc()
5310 nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSTATEID); in nfsrpc_setaclrpc()
5313 (void) nfsv4_fillattr(nd, vp->v_mount, vp, aclp, NULL, NULL, 0, in nfsrpc_setaclrpc()
5315 error = nfscl_request(nd, vp, p, cred); in nfsrpc_setaclrpc()
5319 m_freem(nd->nd_mrep); in nfsrpc_setaclrpc()
5320 return (nd->nd_repstat); in nfsrpc_setaclrpc()
5333 struct nfsrv_descript *nd = &nfsd; in nfsrpc_exchangeid() local
5341 nfscl_reqstart(nd, NFSPROC_EXCHANGEID, nmp, NULL, 0, NULL, NULL, in nfsrpc_exchangeid()
5346 (void) nfsm_strtom(nd, clp->nfsc_id, clp->nfsc_idlen); in nfsrpc_exchangeid()
5354 (void) nfsm_strtom(nd, "freebsd.org", strlen("freebsd.org")); in nfsrpc_exchangeid()
5355 (void) nfsm_strtom(nd, version, strlen(version)); in nfsrpc_exchangeid()
5360 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_exchangeid()
5361 error = newnfs_request(nd, nmp, NULL, nrp, NULL, p, cred, in nfsrpc_exchangeid()
5364 (int)nd->nd_repstat); in nfsrpc_exchangeid()
5367 if (nd->nd_repstat == 0) { in nfsrpc_exchangeid()
5396 nd->nd_repstat = nfsrv_mtostr(nd, in nfsrpc_exchangeid()
5398 if (nd->nd_repstat == 0) { in nfsrpc_exchangeid()
5407 error = nd->nd_repstat; in nfsrpc_exchangeid()
5409 m_freem(nd->nd_mrep); in nfsrpc_exchangeid()
5423 struct nfsrv_descript *nd = &nfsd; in nfsrpc_createsession() local
5437 nfscl_reqstart(nd, NFSPROC_CREATESESSION, nmp, NULL, 0, NULL, NULL, in nfsrpc_createsession()
5451 if ((nd->nd_flag & ND_NFSV42) != 0 && mds != 0 && sb_max_adj >= in nfsrpc_createsession()
5489 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_createsession()
5490 error = newnfs_request(nd, nmp, NULL, nrp, NULL, p, cred, NFS_PROG, in nfsrpc_createsession()
5494 if (nd->nd_repstat == 0) { in nfsrpc_createsession()
5549 error = nd->nd_repstat; in nfsrpc_createsession()
5551 m_freem(nd->nd_mrep); in nfsrpc_createsession()
5564 struct nfsrv_descript *nd = &nfsd; in nfsrpc_destroyclient() local
5568 nfscl_reqstart(nd, NFSPROC_DESTROYCLIENT, nmp, NULL, 0, NULL, NULL, 0, in nfsrpc_destroyclient()
5574 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_destroyclient()
5575 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_destroyclient()
5579 error = nd->nd_repstat; in nfsrpc_destroyclient()
5580 m_freem(nd->nd_mrep); in nfsrpc_destroyclient()
5593 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_layoutget() local
5596 nfscl_reqstart(nd, NFSPROC_LAYOUTGET, nmp, fhp, fhlen, NULL, NULL, 0, in nfsrpc_layoutget()
5598 nfsrv_setuplayoutget(nd, iomode, offset, len, minlen, stateidp, in nfsrpc_layoutget()
5600 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_layoutget()
5601 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_layoutget()
5603 NFSCL_DEBUG(4, "layget err=%d st=%d\n", error, nd->nd_repstat); in nfsrpc_layoutget()
5606 if (nd->nd_repstat == 0) in nfsrpc_layoutget()
5607 error = nfsrv_parselayoutget(nmp, nd, stateidp, retonclosep, in nfsrpc_layoutget()
5609 if (error == 0 && nd->nd_repstat != 0) in nfsrpc_layoutget()
5610 error = nd->nd_repstat; in nfsrpc_layoutget()
5611 m_freem(nd->nd_mrep); in nfsrpc_layoutget()
5625 struct nfsrv_descript *nd = &nfsd; in nfsrpc_getdeviceinfo() local
5640 nfscl_reqstart(nd, NFSPROC_GETDEVICEINFO, nmp, NULL, 0, NULL, NULL, 0, in nfsrpc_getdeviceinfo()
5653 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_getdeviceinfo()
5654 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_getdeviceinfo()
5658 if (nd->nd_repstat == 0) { in nfsrpc_getdeviceinfo()
5736 error = nfsv4_getipaddr(nd, &sin, &sin6, &af, in nfsrpc_getdeviceinfo()
5840 if (nd->nd_repstat != 0 && error == 0) in nfsrpc_getdeviceinfo()
5841 error = nd->nd_repstat; in nfsrpc_getdeviceinfo()
5845 m_freem(nd->nd_mrep); in nfsrpc_getdeviceinfo()
5858 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_layoutcommit() local
5861 nfscl_reqstart(nd, NFSPROC_LAYOUTCOMMIT, nmp, fh, fhlen, NULL, NULL, in nfsrpc_layoutcommit()
5888 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_layoutcommit()
5889 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_layoutcommit()
5893 error = nd->nd_repstat; in nfsrpc_layoutcommit()
5894 m_freem(nd->nd_mrep); in nfsrpc_layoutcommit()
5908 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_layoutreturn() local
5912 nfscl_reqstart(nd, NFSPROC_LAYOUTRETURN, nmp, fh, fhlen, NULL, NULL, in nfsrpc_layoutreturn()
5965 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_layoutreturn()
5966 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_layoutreturn()
5970 if (nd->nd_repstat == 0) { in nfsrpc_layoutreturn()
5980 error = nd->nd_repstat; in nfsrpc_layoutreturn()
5982 m_freem(nd->nd_mrep); in nfsrpc_layoutreturn()
5995 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_layouterror() local
5998 nfscl_reqstart(nd, NFSPROC_LAYOUTERROR, nmp, fh, fhlen, NULL, NULL, in nfsrpc_layouterror()
6013 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_layouterror()
6014 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_layouterror()
6018 if (nd->nd_repstat != 0) in nfsrpc_layouterror()
6019 error = nd->nd_repstat; in nfsrpc_layouterror()
6020 m_freem(nd->nd_mrep); in nfsrpc_layouterror()
6344 struct nfsrv_descript *nd = &nfsd; in nfsrpc_reclaimcomplete() local
6347 nfscl_reqstart(nd, NFSPROC_RECLAIMCOMPL, nmp, NULL, 0, NULL, NULL, 0, in nfsrpc_reclaimcomplete()
6351 nd->nd_flag |= ND_USEGSSNAME; in nfsrpc_reclaimcomplete()
6352 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, NULL, p, cred, in nfsrpc_reclaimcomplete()
6356 error = nd->nd_repstat; in nfsrpc_reclaimcomplete()
6357 m_freem(nd->nd_mrep); in nfsrpc_reclaimcomplete()
6969 struct nfsrv_descript *nd = &nfsd; in nfsrpc_readds() local
6973 nd->nd_mrep = NULL; in nfsrpc_readds()
6975 nfscl_reqstart(nd, NFSPROC_READDS, nmp, fhp->nfh_fh, in nfsrpc_readds()
6981 nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSTATEID); in nfsrpc_readds()
6983 nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSEQIDZERO); in nfsrpc_readds()
6985 nfscl_reqstart(nd, NFSPROC_READ, nmp, fhp->nfh_fh, in nfsrpc_readds()
7000 error = newnfs_request(nd, nmp, NULL, nrp, vp, p, cred, in nfsrpc_readds()
7002 NFSCL_DEBUG(4, "nfsrpc_readds: stat=%d err=%d\n", nd->nd_repstat, in nfsrpc_readds()
7007 error = nfscl_postop_attr(nd, &na, &attrflag); in nfsrpc_readds()
7012 if (nd->nd_repstat != 0) { in nfsrpc_readds()
7013 error = nd->nd_repstat; in nfsrpc_readds()
7025 error = nfsm_mbufuio(nd, uiop, retlen); in nfsrpc_readds()
7027 if (nd->nd_mrep != NULL) in nfsrpc_readds()
7028 m_freem(nd->nd_mrep); in nfsrpc_readds()
7046 struct nfsrv_descript *nd = &nfsd; in nfsrpc_writeds() local
7051 nd->nd_mrep = NULL; in nfsrpc_writeds()
7053 nfscl_reqstart(nd, NFSPROC_WRITEDS, nmp, fhp->nfh_fh, in nfsrpc_writeds()
7059 nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSTATEID); in nfsrpc_writeds()
7061 nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSEQIDZERO); in nfsrpc_writeds()
7064 nfscl_reqstart(nd, NFSPROC_WRITE, nmp, fhp->nfh_fh, in nfsrpc_writeds()
7078 error = nfsm_uiombuf(nd, uiop, len); in nfsrpc_writeds()
7080 m_freem(nd->nd_mreq); in nfsrpc_writeds()
7087 error = newnfs_request(nd, nmp, NULL, nrp, vp, p, cred, in nfsrpc_writeds()
7090 nd->nd_repstat); in nfsrpc_writeds()
7093 if (nd->nd_repstat != 0) { in nfsrpc_writeds()
7103 error = nd->nd_repstat; in nfsrpc_writeds()
7106 error = nfscl_wcc_data(nd, vp, &na, &attrflag, NULL, in nfsrpc_writeds()
7163 if (nd->nd_mrep != NULL) in nfsrpc_writeds()
7164 m_freem(nd->nd_mrep); in nfsrpc_writeds()
7166 if (nd->nd_repstat != 0 && error == 0) in nfsrpc_writeds()
7167 error = nd->nd_repstat; in nfsrpc_writeds()
7186 struct nfsrv_descript *nd = &nfsd; in nfsrpc_writedsmir() local
7190 nd->nd_mrep = NULL; in nfsrpc_writedsmir()
7192 nfscl_reqstart(nd, NFSPROC_WRITEDS, nmp, fhp->nfh_fh, in nfsrpc_writedsmir()
7198 nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSTATEID); in nfsrpc_writedsmir()
7201 nfscl_reqstart(nd, NFSPROC_WRITE, nmp, fhp->nfh_fh, in nfsrpc_writedsmir()
7217 nd->nd_mb->m_next = m; in nfsrpc_writedsmir()
7223 error = newnfs_request(nd, nmp, NULL, nrp, vp, p, cred, in nfsrpc_writedsmir()
7226 nd->nd_repstat); in nfsrpc_writedsmir()
7229 if (nd->nd_repstat != 0) in nfsrpc_writedsmir()
7230 error = nd->nd_repstat; in nfsrpc_writedsmir()
7233 error = nfscl_wcc_data(nd, vp, &na, &attrflag, NULL, in nfsrpc_writedsmir()
7273 if (nd->nd_mrep != NULL) in nfsrpc_writedsmir()
7274 m_freem(nd->nd_mrep); in nfsrpc_writedsmir()
7276 if (nd->nd_repstat != 0 && error == 0) in nfsrpc_writedsmir()
7277 error = nd->nd_repstat; in nfsrpc_writedsmir()
7414 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_commitds() local
7420 nd->nd_mrep = NULL; in nfsrpc_commitds()
7422 nfscl_reqstart(nd, NFSPROC_COMMITDS, nmp, fhp->nfh_fh, in nfsrpc_commitds()
7427 nfscl_reqstart(nd, NFSPROC_COMMIT, nmp, fhp->nfh_fh, in nfsrpc_commitds()
7443 error = newnfs_request(nd, nmp, NULL, nrp, vp, p, cred, in nfsrpc_commitds()
7446 nd->nd_repstat); in nfsrpc_commitds()
7449 if (nd->nd_repstat == 0) { in nfsrpc_commitds()
7451 error = nfscl_wcc_data(nd, vp, &na, &attrflag, NULL, in nfsrpc_commitds()
7466 if (error == 0 && nd->nd_repstat != 0) in nfsrpc_commitds()
7467 error = nd->nd_repstat; in nfsrpc_commitds()
7468 m_freem(nd->nd_mrep); in nfsrpc_commitds()
7533 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_advise() local
7544 NFSCL_REQSTART(nd, NFSPROC_IOADVISE, vp, cred); in nfsrpc_advise()
7545 nfsm_stateidtom(nd, NULL, NFSSTATEID_PUTALLZERO); in nfsrpc_advise()
7550 nfsrv_putattrbit(nd, &hints); in nfsrpc_advise()
7551 error = nfscl_request(nd, vp, p, cred); in nfsrpc_advise()
7554 if (nd->nd_repstat != 0) in nfsrpc_advise()
7555 error = nd->nd_repstat; in nfsrpc_advise()
7556 m_freem(nd->nd_mrep); in nfsrpc_advise()
7570 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_adviseds() local
7586 nd->nd_mrep = NULL; in nfsrpc_adviseds()
7587 nfscl_reqstart(nd, NFSPROC_IOADVISEDS, nmp, fhp->nfh_fh, in nfsrpc_adviseds()
7592 nfsm_stateidtom(nd, NULL, NFSSTATEID_PUTALLZERO); in nfsrpc_adviseds()
7597 nfsrv_putattrbit(nd, &hints); in nfsrpc_adviseds()
7602 error = newnfs_request(nd, nmp, NULL, nrp, vp, p, cred, in nfsrpc_adviseds()
7605 nd->nd_repstat); in nfsrpc_adviseds()
7608 if (nd->nd_repstat != 0) in nfsrpc_adviseds()
7609 error = nd->nd_repstat; in nfsrpc_adviseds()
7610 m_freem(nd->nd_mrep); in nfsrpc_adviseds()
7755 struct nfsrv_descript *nd = &nfsd; in nfsrpc_allocaterpc() local
7759 NFSCL_REQSTART(nd, NFSPROC_ALLOCATE, vp, cred); in nfsrpc_allocaterpc()
7760 nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSTATEID); in nfsrpc_allocaterpc()
7766 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_allocaterpc()
7767 error = nfscl_request(nd, vp, p, cred); in nfsrpc_allocaterpc()
7770 if (nd->nd_repstat == 0) { in nfsrpc_allocaterpc()
7772 error = nfsm_loadattr(nd, nap); in nfsrpc_allocaterpc()
7776 error = nd->nd_repstat; in nfsrpc_allocaterpc()
7778 m_freem(nd->nd_mrep); in nfsrpc_allocaterpc()
7786 nfsrv_setuplayoutget(struct nfsrv_descript *nd, int iomode, uint64_t offset, in nfsrv_setuplayoutget() argument
7823 nfsrv_parselayoutget(struct nfsmount *nmp, struct nfsrv_descript *nd, in nfsrv_parselayoutget() argument
8033 error = nfsrv_parseug(nd, 0, &user, in nfsrv_parselayoutget()
8038 error = nfsrv_parseug(nd, 1, in nfsrv_parselayoutget()
8108 nfsrv_parseug(struct nfsrv_descript *nd, int dogrp, uid_t *uidp, gid_t *gidp, in nfsrv_parseug() argument
8140 error = nfsv4_strtogid(nd, str, len, gidp); in nfsrv_parseug()
8142 error = nfsv4_strtouid(nd, str, len, uidp); in nfsrv_parseug()
8236 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_openlayoutrpc() local
8246 nfscl_reqstart(nd, NFSPROC_OPENLAYGET, nmp, nfhp, fhlen, NULL, NULL, in nfsrpc_openlayoutrpc()
8256 nfsm_strtom(nd, op->nfso_own->nfsow_owner, NFSV4CL_LOCKNAMELEN); in nfsrpc_openlayoutrpc()
8263 nfsm_strtom(nd, name, namelen); in nfsrpc_openlayoutrpc()
8270 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_openlayoutrpc()
8277 nfsrv_setuplayoutget(nd, iomode, 0, UINT64_MAX, 0, stateidp, in nfsrpc_openlayoutrpc()
8279 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, vp, p, cred, in nfsrpc_openlayoutrpc()
8283 NFSCL_INCRSEQID(op->nfso_own->nfsow_seqid, nd); in nfsrpc_openlayoutrpc()
8284 if (nd->nd_repstat != 0) in nfsrpc_openlayoutrpc()
8285 *laystatp = nd->nd_repstat; in nfsrpc_openlayoutrpc()
8286 if ((nd->nd_flag & ND_NOMOREDATA) == 0) { in nfsrpc_openlayoutrpc()
8295 error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); in nfsrpc_openlayoutrpc()
8348 error = nfsrv_dissectace(nd, &ndp->nfsdl_ace, false, in nfsrpc_openlayoutrpc()
8371 error = nfsv4_loadattr(nd, NULL, &nfsva, NULL, in nfsrpc_openlayoutrpc()
8388 if (nd->nd_repstat == 0) { in nfsrpc_openlayoutrpc()
8392 error = nfsrv_parselayoutget(nmp, nd, in nfsrpc_openlayoutrpc()
8398 nd->nd_repstat = 0; /* Return 0 for Open. */ in nfsrpc_openlayoutrpc()
8401 if (nd->nd_repstat != 0 && error == 0) in nfsrpc_openlayoutrpc()
8402 error = nd->nd_repstat; in nfsrpc_openlayoutrpc()
8405 m_freem(nd->nd_mrep); in nfsrpc_openlayoutrpc()
8424 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_createlayout() local
8444 NFSCL_REQSTART(nd, NFSPROC_CREATELAYGET, dvp, cred); in nfsrpc_createlayout()
8465 nfsm_strtom(nd, owp->nfsow_owner, NFSV4CL_LOCKNAMELEN); in nfsrpc_createlayout()
8472 nfscl_fillsattr(nd, vap, dvp, NFSSATTR_NEWFILE, 0); in nfsrpc_createlayout()
8479 nfscl_fillsattr(nd, vap, dvp, NFSSATTR_NEWFILE, 0); in nfsrpc_createlayout()
8483 nfscl_fillsattr(nd, vap, dvp, NFSSATTR_NEWFILE, 0); in nfsrpc_createlayout()
8487 nfsm_strtom(nd, name, namelen); in nfsrpc_createlayout()
8494 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_createlayout()
8498 (void)nfsm_fhtom(nmp, nd, np->n_fhp->nfh_fh, np->n_fhp->nfh_len, 0); in nfsrpc_createlayout()
8501 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_createlayout()
8505 nfsrv_setuplayoutget(nd, NFSLAYOUTIOMODE_RW, 0, UINT64_MAX, 0, stateidp, in nfsrpc_createlayout()
8507 error = nfscl_request(nd, dvp, p, cred); in nfsrpc_createlayout()
8510 NFSCL_DEBUG(4, "nfsrpc_createlayout stat=%d err=%d\n", nd->nd_repstat, in nfsrpc_createlayout()
8512 if (nd->nd_repstat != 0) in nfsrpc_createlayout()
8513 *laystatp = nd->nd_repstat; in nfsrpc_createlayout()
8514 NFSCL_INCRSEQID(owp->nfsow_seqid, nd); in nfsrpc_createlayout()
8515 if ((nd->nd_flag & ND_NOMOREDATA) == 0) { in nfsrpc_createlayout()
8523 error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); in nfsrpc_createlayout()
8575 error = nfsrv_dissectace(nd, &dp->nfsdl_ace, false, in nfsrpc_createlayout()
8593 error = nfscl_mtofh(nd, nfhpp, nnap, attrflagp); in nfsrpc_createlayout()
8598 nd->nd_flag |= ND_NOMOREDATA; in nfsrpc_createlayout()
8600 if ((nd->nd_flag & ND_NOMOREDATA) == 0) { in nfsrpc_createlayout()
8603 nd->nd_flag |= ND_NOMOREDATA; in nfsrpc_createlayout()
8608 nd->nd_flag |= ND_NOMOREDATA; in nfsrpc_createlayout()
8611 if ((nd->nd_flag & ND_NOMOREDATA) == 0) { in nfsrpc_createlayout()
8613 error = nfsm_loadattr(nd, dnap); in nfsrpc_createlayout()
8648 if (nd->nd_repstat == 0) { in nfsrpc_createlayout()
8652 error = nfsrv_parselayoutget(nmp, nd, in nfsrpc_createlayout()
8660 nd->nd_repstat = 0; in nfsrpc_createlayout()
8663 if (nd->nd_repstat != 0 && error == 0) in nfsrpc_createlayout()
8664 error = nd->nd_repstat; in nfsrpc_createlayout()
8673 m_freem(nd->nd_mrep); in nfsrpc_createlayout()
8884 struct nfsrv_descript *nd = &nfsd; in nfsrpc_copyrpc() local
8897 nfscl_reqstart(nd, NFSPROC_COPY, nmp, VTONFS(invp)->n_fhp->nfh_fh, in nfsrpc_copyrpc()
8910 nfsm_stateidtom(nd, instateidp, NFSSTATEID_PUTSTATEID); in nfsrpc_copyrpc()
8914 nfscl_fillsattr(nd, &va, invp, 0, 0); in nfsrpc_copyrpc()
8923 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_copyrpc()
8928 (void)nfsm_fhtom(nmp, nd, VTONFS(outvp)->n_fhp->nfh_fh, in nfsrpc_copyrpc()
8934 nfsm_stateidtom(nd, instateidp, NFSSTATEID_PUTSTATEID); in nfsrpc_copyrpc()
8935 nfsm_stateidtom(nd, outstateidp, NFSSTATEID_PUTSTATEID); in nfsrpc_copyrpc()
8950 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_copyrpc()
8952 error = nfscl_request(nd, invp, p, cred); in nfsrpc_copyrpc()
8956 if ((nd->nd_flag & ND_NOMOREDATA) == 0 && in nfsrpc_copyrpc()
8960 error = nfsrv_getattrbits(nd, &attrbits, NULL, NULL); in nfsrpc_copyrpc()
8964 nd->nd_flag |= ND_NOMOREDATA; in nfsrpc_copyrpc()
8966 if ((nd->nd_flag & ND_NOMOREDATA) == 0) { in nfsrpc_copyrpc()
8970 error = nfsm_loadattr(nd, innap); in nfsrpc_copyrpc()
8975 nd->nd_flag |= ND_NOMOREDATA; in nfsrpc_copyrpc()
8978 if ((nd->nd_flag & ND_NOMOREDATA) == 0) { in nfsrpc_copyrpc()
8981 nd->nd_flag |= ND_NOMOREDATA; in nfsrpc_copyrpc()
8984 if ((nd->nd_flag & ND_NOMOREDATA) == 0) in nfsrpc_copyrpc()
8986 if (nd->nd_repstat == 0) { in nfsrpc_copyrpc()
9003 nd->nd_repstat = NFSERR_STALEWRITEVERF; in nfsrpc_copyrpc()
9007 if (nd->nd_repstat == 0 && *++tl != newnfs_true) in nfsrpc_copyrpc()
9009 nd->nd_repstat = NFSERR_NOTSUPP; in nfsrpc_copyrpc()
9011 error = nfsm_loadattr(nd, outnap); in nfsrpc_copyrpc()
9014 if (nd->nd_repstat == 0) in nfsrpc_copyrpc()
9016 } else if (nd->nd_repstat == NFSERR_OFFLOADNOREQS) { in nfsrpc_copyrpc()
9023 if ((nd->nd_flag & ND_NOMOREDATA) == 0) { in nfsrpc_copyrpc()
9026 nd->nd_repstat = NFSERR_NOTSUPP; in nfsrpc_copyrpc()
9028 nd->nd_repstat = NFSERR_BADXDR; in nfsrpc_copyrpc()
9031 error = nd->nd_repstat; in nfsrpc_copyrpc()
9033 m_freem(nd->nd_mrep); in nfsrpc_copyrpc()
9100 struct nfsrv_descript *nd = &nfsd; in nfsrpc_seekrpc() local
9104 NFSCL_REQSTART(nd, NFSPROC_SEEK, vp, cred); in nfsrpc_seekrpc()
9105 nfsm_stateidtom(nd, stateidp, NFSSTATEID_PUTSTATEID); in nfsrpc_seekrpc()
9111 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_seekrpc()
9112 error = nfscl_request(nd, vp, curthread, cred); in nfsrpc_seekrpc()
9115 if (nd->nd_repstat == 0) { in nfsrpc_seekrpc()
9123 error = nfsm_loadattr(nd, nap); in nfsrpc_seekrpc()
9127 error = nd->nd_repstat; in nfsrpc_seekrpc()
9129 m_freem(nd->nd_mrep); in nfsrpc_seekrpc()
9143 struct nfsrv_descript *nd = &nfsd; in nfsrpc_getextattr() local
9148 NFSCL_REQSTART(nd, NFSPROC_GETEXTATTR, vp, cred); in nfsrpc_getextattr()
9149 nfsm_strtom(nd, name, strlen(name)); in nfsrpc_getextattr()
9153 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_getextattr()
9154 error = nfscl_request(nd, vp, p, cred); in nfsrpc_getextattr()
9157 if (nd->nd_repstat == 0) { in nfsrpc_getextattr()
9165 error = nfsm_mbufuio(nd, uiop, len); in nfsrpc_getextattr()
9167 error = nfsm_mbufuio(nd, uiop, len2); in nfsrpc_getextattr()
9179 error = nfsm_advance(nd, len2, in nfsrpc_getextattr()
9185 error = nfsm_advance(nd, NFSM_RNDUP(len), -1); in nfsrpc_getextattr()
9193 error = nfsm_loadattr(nd, nap); in nfsrpc_getextattr()
9198 error = nd->nd_repstat; in nfsrpc_getextattr()
9200 m_freem(nd->nd_mrep); in nfsrpc_getextattr()
9214 struct nfsrv_descript *nd = &nfsd; in nfsrpc_setextattr() local
9218 NFSCL_REQSTART(nd, NFSPROC_SETEXTATTR, vp, cred); in nfsrpc_setextattr()
9219 if (uiop->uio_resid > nd->nd_maxreq) { in nfsrpc_setextattr()
9221 m_freem(nd->nd_mreq); in nfsrpc_setextattr()
9226 nfsm_strtom(nd, name, strlen(name)); in nfsrpc_setextattr()
9229 error = nfsm_uiombuf(nd, uiop, uiop->uio_resid); in nfsrpc_setextattr()
9231 m_freem(nd->nd_mreq); in nfsrpc_setextattr()
9237 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_setextattr()
9238 error = nfscl_request(nd, vp, p, cred); in nfsrpc_setextattr()
9241 if (nd->nd_repstat == 0) { in nfsrpc_setextattr()
9245 error = nfsm_loadattr(nd, nap); in nfsrpc_setextattr()
9250 error = nd->nd_repstat; in nfsrpc_setextattr()
9252 m_freem(nd->nd_mrep); in nfsrpc_setextattr()
9266 struct nfsrv_descript *nd = &nfsd; in nfsrpc_rmextattr() local
9270 NFSCL_REQSTART(nd, NFSPROC_RMEXTATTR, vp, cred); in nfsrpc_rmextattr()
9271 nfsm_strtom(nd, name, strlen(name)); in nfsrpc_rmextattr()
9275 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_rmextattr()
9276 error = nfscl_request(nd, vp, p, cred); in nfsrpc_rmextattr()
9279 if (nd->nd_repstat == 0) { in nfsrpc_rmextattr()
9283 error = nfsm_loadattr(nd, nap); in nfsrpc_rmextattr()
9288 error = nd->nd_repstat; in nfsrpc_rmextattr()
9290 m_freem(nd->nd_mrep); in nfsrpc_rmextattr()
9305 struct nfsrv_descript *nd = &nfsd; in nfsrpc_listextattr() local
9310 NFSCL_REQSTART(nd, NFSPROC_LISTEXTATTR, vp, cred); in nfsrpc_listextattr()
9316 nfsrv_putattrbit(nd, &attrbits); in nfsrpc_listextattr()
9317 error = nfscl_request(nd, vp, p, cred); in nfsrpc_listextattr()
9322 if (nd->nd_repstat == 0) { in nfsrpc_listextattr()
9338 error = nfsm_advance(nd, NFSM_RNDUP(len), -1); in nfsrpc_listextattr()
9343 error = nfsm_mbufuio(nd, uiop, len); in nfsrpc_listextattr()
9345 error = nfsm_advance(nd, NFSM_RNDUP(len), -1); in nfsrpc_listextattr()
9360 error = nfsm_loadattr(nd, nap); in nfsrpc_listextattr()
9365 error = nd->nd_repstat; in nfsrpc_listextattr()
9367 m_freem(nd->nd_mrep); in nfsrpc_listextattr()
9477 struct nfsrv_descript *nd = &nfsd; in nfsrpc_bindconnsess() local
9483 nfscl_reqstart(nd, NFSPROC_BINDCONNTOSESS, NULL, NULL, 0, NULL, NULL, in nfsrpc_bindconnsess()
9495 nd->nd_mrep = NULL; in nfsrpc_bindconnsess()
9496 stat = CLNT_CALL_MBUF(cl, &ext, NFSV4PROC_COMPOUND, nd->nd_mreq, in nfsrpc_bindconnsess()
9497 &nd->nd_mrep, utimeout); in nfsrpc_bindconnsess()
9503 if (nd->nd_mrep == NULL) { in nfsrpc_bindconnsess()
9508 newnfs_realign(&nd->nd_mrep, M_WAITOK); in nfsrpc_bindconnsess()
9509 nd->nd_md = nd->nd_mrep; in nfsrpc_bindconnsess()
9510 nd->nd_dpos = mtod(nd->nd_md, char *); in nfsrpc_bindconnsess()
9512 nd->nd_repstat = fxdr_unsigned(uint32_t, *tl++); in nfsrpc_bindconnsess()
9513 if (nd->nd_repstat == NFSERR_OK) { in nfsrpc_bindconnsess()
9515 if (res > 0 && (error = nfsm_advance(nd, NFSM_RNDUP(res), in nfsrpc_bindconnsess()
9530 } else if (nd->nd_repstat != NFSERR_BADSESSION) in nfsrpc_bindconnsess()
9531 printf("nfsrpc_bindconnsess: returned %d\n", nd->nd_repstat); in nfsrpc_bindconnsess()
9535 m_freem(nd->nd_mrep); in nfsrpc_bindconnsess()
9547 struct nfsrv_descript nfsd, *nd = &nfsd; in nfsrpc_openattr() local
9552 nfscl_reqstart(nd, NFSPROC_OPENATTR, nmp, fhp, fhlen, NULL, NULL, 0, 0, in nfsrpc_openattr()
9563 (void)nfsrv_putattrbit(nd, &attrbits); in nfsrpc_openattr()
9564 error = newnfs_request(nd, nmp, NULL, &nmp->nm_sockreq, vp, p, cred, in nfsrpc_openattr()
9568 if (nd->nd_repstat == 0) { in nfsrpc_openattr()
9570 error = nfsm_getfh(nd, nfhpp); in nfsrpc_openattr()
9573 error = nfscl_postop_attr(nd, nap, attrflagp); in nfsrpc_openattr()
9576 m_freem(nd->nd_mrep); in nfsrpc_openattr()
9577 if (error == 0 && nd->nd_repstat != 0) in nfsrpc_openattr()
9578 error = nd->nd_repstat; in nfsrpc_openattr()