Lines Matching defs:nfsd
163 nfsrv3_access(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
165 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
166 struct mbuf *nam = nfsd->nd_nam;
167 char *dpos = nfsd->nd_dpos;
168 kauth_cred_t cred = nfsd->nd_cr;
184 (nfsd->nd_flag & ND_KERBAUTH), false);
226 nfsrv_getattr(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
228 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
229 struct mbuf *nam = nfsd->nd_nam;
230 char *dpos = nfsd->nd_dpos;
231 kauth_cred_t cred = nfsd->nd_cr;
246 (nfsd->nd_flag & ND_KERBAUTH), false);
254 nfsm_reply(NFSX_FATTR(nfsd->nd_flag & ND_NFSV3));
257 nfsm_build(fp, struct nfs_fattr *, NFSX_FATTR(nfsd->nd_flag & ND_NFSV3));
266 nfsrv_setattr(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
268 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
269 struct mbuf *nam = nfsd->nd_nam;
270 char *dpos = nfsd->nd_dpos;
271 kauth_cred_t cred = nfsd->nd_cr;
281 int v3 = (nfsd->nd_flag & ND_NFSV3), gcheck = 0;
334 (nfsd->nd_flag & ND_KERBAUTH), false);
393 nfsrv_lookup(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
395 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
396 struct mbuf *nam = nfsd->nd_nam;
397 char *dpos = nfsd->nd_dpos;
398 kauth_cred_t cred = nfsd->nd_cr;
410 int v3 = (nfsd->nd_flag & ND_NFSV3), pubflag;
426 lwp, (nfsd->nd_flag & ND_KERBAUTH), pubflag);
524 nfsrv_readlink(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
526 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
527 struct mbuf *nam = nfsd->nd_nam;
528 char *dpos = nfsd->nd_dpos;
529 kauth_cred_t cred = nfsd->nd_cr;
538 int v3 = (nfsd->nd_flag & ND_NFSV3);
578 &rdonly, (nfsd->nd_flag & ND_KERBAUTH), false);
622 nfsrv_read(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
624 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
625 struct mbuf *nam = nfsd->nd_nam;
626 char *dpos = nfsd->nd_dpos;
627 kauth_cred_t cred = nfsd->nd_cr;
635 int v3 = (nfsd->nd_flag & ND_NFSV3);
657 reqlen = MIN(reqlen, NFS_SRVMAXDATA(nfsd));
659 &rdonly, (nfsd->nd_flag & ND_KERBAUTH), false);
846 nfsrv_write(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
848 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
849 struct mbuf *nam = nfsd->nd_nam;
850 char *dpos = nfsd->nd_dpos;
851 kauth_cred_t cred = nfsd->nd_cr;
864 int v3 = (nfsd->nd_flag & ND_NFSV3);
928 &rdonly, (nfsd->nd_flag & ND_KERBAUTH), false);
1066 struct nfsrv_descript *wp, *nfsd, *owp, *swp;
1086 nfsd = *ndp;
1088 mrep = nfsd->nd_mrep;
1089 md = nfsd->nd_md;
1090 dpos = nfsd->nd_dpos;
1091 cred = nfsd->nd_cr;
1092 v3 = (nfsd->nd_flag & ND_NFSV3);
1093 LIST_INIT(&nfsd->nd_coalesce);
1094 nfsd->nd_mreq = NULL;
1095 nfsd->nd_stable = NFSV3WRITE_FILESYNC;
1098 nfsd->nd_time = cur_usec + nfsrvw_procrastinate;
1103 nfsm_srvmtofh(&nfsd->nd_fh);
1106 nfsd->nd_off = fxdr_hyper(tl);
1108 nfsd->nd_stable = fxdr_unsigned(int, *tl++);
1111 nfsd->nd_off = (off_t)fxdr_unsigned(u_int32_t, *++tl);
1115 nfsd->nd_len = len;
1116 nfsd->nd_eoff = nfsd->nd_off + len;
1151 nfsd->nd_mreq = mreq;
1152 nfsd->nd_mrep = NULL;
1153 nfsd->nd_time = 0;
1162 while (wp && wp->nd_time < nfsd->nd_time) {
1167 LIST_INSERT_AFTER(owp, nfsd, nd_tq);
1169 LIST_INSERT_HEAD(&slp->ns_tq, nfsd, nd_tq);
1171 if (nfsd->nd_mrep) {
1172 wpp = nfsrv_nwdelayhash(slp, &nfsd->nd_fh);
1175 while (wp && nfsrv_comparefh(&nfsd->nd_fh, &wp->nd_fh)) {
1179 while (wp && wp->nd_off < nfsd->nd_off &&
1180 !nfsrv_comparefh(&nfsd->nd_fh, &wp->nd_fh)) {
1185 LIST_INSERT_AFTER(owp, nfsd, nd_hash);
1191 for(; nfsd && NFSW_CONTIG(owp, nfsd); nfsd = wp) {
1192 wp = LIST_NEXT(nfsd, nd_hash);
1193 if (nfsrv_samecred(owp->nd_cr, nfsd->nd_cr))
1194 nfsrvw_coalesce(owp, nfsd);
1197 LIST_INSERT_HEAD(wpp, nfsd, nd_hash);
1211 for (nfsd = LIST_FIRST(&slp->ns_tq); nfsd; nfsd = owp) {
1212 owp = LIST_NEXT(nfsd, nd_tq);
1213 if (nfsd->nd_time > cur_usec)
1215 if (nfsd->nd_mreq)
1217 LIST_REMOVE(nfsd, nd_tq);
1218 LIST_REMOVE(nfsd, nd_hash);
1221 mrep = nfsd->nd_mrep;
1222 nfsd->nd_mrep = NULL;
1223 cred = nfsd->nd_cr;
1224 v3 = (nfsd->nd_flag & ND_NFSV3);
1226 error = nfsrv_fhtovp(&nfsd->nd_fh, 1, &vp, cred, slp,
1227 nfsd->nd_nam, &rdonly, (nfsd->nd_flag & ND_KERBAUTH),
1245 if (nfsd->nd_stable == NFSV3WRITE_UNSTABLE)
1247 else if (nfsd->nd_stable == NFSV3WRITE_DATASYNC)
1252 uiop->uio_offset = nfsd->nd_off;
1253 uiop->uio_resid = nfsd->nd_eoff - nfsd->nd_off;
1291 swp = nfsd;
1305 *tl++ = txdr_unsigned(nfsd->nd_len);
1321 nfsd->nd_mreq = mreq;
1322 if (nfsd->nd_mrep)
1330 if (nfsd != swp) {
1331 nfsd->nd_time = 0;
1332 LIST_INSERT_HEAD(&slp->ns_tq, nfsd, nd_tq);
1334 nfsd = LIST_FIRST(&swp->nd_coalesce);
1335 if (nfsd) {
1336 LIST_REMOVE(nfsd, nd_tq);
1339 } while (nfsd);
1354 LIST_FOREACH(nfsd, &slp->ns_tq, nd_tq) {
1355 if (nfsd->nd_mreq) {
1356 LIST_REMOVE(nfsd, nd_tq);
1357 *mrq = nfsd->nd_mreq;
1358 *ndp = nfsd;
1367 * Coalesce the write request nfsd into owp. To do this we must:
1368 * - remove nfsd from the queues
1369 * - merge nfsd->nd_mrep into owp->nd_mrep
1371 * - put nfsd on owp's nd_coalesce list
1375 nfsrvw_coalesce(struct nfsrv_descript *owp, struct nfsrv_descript *nfsd)
1383 LIST_REMOVE(nfsd, nd_hash);
1384 LIST_REMOVE(nfsd, nd_tq);
1385 if (owp->nd_eoff < nfsd->nd_eoff) {
1386 overlap = owp->nd_eoff - nfsd->nd_off;
1390 m_adj(nfsd->nd_mrep, overlap);
1394 mp->m_next = nfsd->nd_mrep;
1395 owp->nd_eoff = nfsd->nd_eoff;
1397 m_freem(nfsd->nd_mrep);
1398 nfsd->nd_mrep = NULL;
1399 if (nfsd->nd_stable == NFSV3WRITE_FILESYNC)
1401 else if (nfsd->nd_stable == NFSV3WRITE_DATASYNC &&
1404 LIST_INSERT_HEAD(&owp->nd_coalesce, nfsd, nd_tq);
1406 * nfsd might hold coalesce elements! Move them to owp.
1409 while ((m = LIST_FIRST(&nfsd->nd_coalesce)) != NULL) {
1420 nfsrv_create(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
1422 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
1423 struct mbuf *nam = nfsd->nd_nam;
1424 char *dpos = nfsd->nd_dpos;
1425 kauth_cred_t cred = nfsd->nd_cr;
1436 int v3 = (nfsd->nd_flag & ND_NFSV3), how, exclusive_flag = 0;
1452 lwp, (nfsd->nd_flag & ND_KERBAUTH), false);
1663 nfsrv_mknod(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
1665 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
1666 struct mbuf *nam = nfsd->nd_nam;
1667 char *dpos = nfsd->nd_dpos;
1668 kauth_cred_t cred = nfsd->nd_cr;
1692 lwp, (nfsd->nd_flag & ND_KERBAUTH), false);
1818 nfsrv_remove(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
1820 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
1821 struct mbuf *nam = nfsd->nd_nam;
1822 char *dpos = nfsd->nd_dpos;
1823 kauth_cred_t cred = nfsd->nd_cr;
1829 int v3 = (nfsd->nd_flag & ND_NFSV3);
1847 lwp, (nfsd->nd_flag & ND_KERBAUTH), false);
1899 nfsrv_rename(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
1901 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
1902 struct mbuf *nam = nfsd->nd_nam;
1903 char *dpos = nfsd->nd_dpos;
1904 kauth_cred_t cred = nfsd->nd_cr;
1911 int v3 = (nfsd->nd_flag & ND_NFSV3);
1940 lwp, (nfsd->nd_flag & ND_KERBAUTH), false);
2011 lwp, (nfsd->nd_flag & ND_KERBAUTH), false);
2167 nfsrv_link(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
2169 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
2170 struct mbuf *nam = nfsd->nd_nam;
2171 char *dpos = nfsd->nd_dpos;
2172 kauth_cred_t cred = nfsd->nd_cr;
2178 int getret = 1, v3 = (nfsd->nd_flag & ND_NFSV3);
2190 &rdonly, (nfsd->nd_flag & ND_KERBAUTH), false);
2206 lwp, (nfsd->nd_flag & ND_KERBAUTH), false);
2266 nfsrv_symlink(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
2268 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
2269 struct mbuf *nam = nfsd->nd_nam;
2270 char *dpos = nfsd->nd_dpos;
2271 kauth_cred_t cred = nfsd->nd_cr;
2282 int v3 = (nfsd->nd_flag & ND_NFSV3);
2296 lwp, (nfsd->nd_flag & ND_KERBAUTH), false);
2410 nfsrv_mkdir(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
2412 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
2413 struct mbuf *nam = nfsd->nd_nam;
2414 char *dpos = nfsd->nd_dpos;
2415 kauth_cred_t cred = nfsd->nd_cr;
2425 int v3 = (nfsd->nd_flag & ND_NFSV3);
2439 lwp, (nfsd->nd_flag & ND_KERBAUTH), false);
2535 nfsrv_rmdir(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
2537 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
2538 struct mbuf *nam = nfsd->nd_nam;
2539 char *dpos = nfsd->nd_dpos;
2540 kauth_cred_t cred = nfsd->nd_cr;
2545 int v3 = (nfsd->nd_flag & ND_NFSV3);
2561 lwp, (nfsd->nd_flag & ND_KERBAUTH), false);
2668 nfsrv_readdir(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
2670 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
2671 struct mbuf *nam = nfsd->nd_nam;
2672 char *dpos = nfsd->nd_dpos;
2673 kauth_cred_t cred = nfsd->nd_cr;
2690 int v3 = (nfsd->nd_flag & ND_NFSV3);
2714 xfer = NFS_SRVMAXDATA(nfsd);
2719 &rdonly, (nfsd->nd_flag & ND_KERBAUTH), false);
2931 nfsrv_readdirplus(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
2933 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
2934 struct mbuf *nam = nfsd->nd_nam;
2935 char *dpos = nfsd->nd_dpos;
2936 kauth_cred_t cred = nfsd->nd_cr;
2973 xfer = NFS_SRVMAXDATA(nfsd);
2978 &rdonly, (nfsd->nd_flag & ND_KERBAUTH), false);
3262 nfsrv_commit(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
3264 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
3265 struct mbuf *nam = nfsd->nd_nam;
3266 char *dpos = nfsd->nd_dpos;
3267 kauth_cred_t cred = nfsd->nd_cr;
3287 &rdonly, (nfsd->nd_flag & ND_KERBAUTH), false);
3320 nfsrv_statfs(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
3322 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
3323 struct mbuf *nam = nfsd->nd_nam;
3324 char *dpos = nfsd->nd_dpos;
3325 kauth_cred_t cred = nfsd->nd_cr;
3332 int v3 = (nfsd->nd_flag & ND_NFSV3);
3342 &rdonly, (nfsd->nd_flag & ND_KERBAUTH), false);
3390 nfsrv_fsinfo(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
3392 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
3393 struct mbuf *nam = nfsd->nd_nam;
3394 char *dpos = nfsd->nd_dpos;
3395 kauth_cred_t cred = nfsd->nd_cr;
3412 &rdonly, (nfsd->nd_flag & ND_KERBAUTH), false);
3460 nfsrv_pathconf(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, struct lwp *lwp, struct mbuf **mrq)
3462 struct mbuf *mrep = nfsd->nd_mrep, *md = nfsd->nd_md;
3463 struct mbuf *nam = nfsd->nd_nam;
3464 char *dpos = nfsd->nd_dpos;
3465 kauth_cred_t cred = nfsd->nd_cr;
3481 &rdonly, (nfsd->nd_flag & ND_KERBAUTH), false);
3522 nfsrv_null(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
3525 struct mbuf *mrep = nfsd->nd_mrep;
3541 nfsrv_noop(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp,
3544 struct mbuf *mrep = nfsd->nd_mrep;
3550 if (nfsd->nd_repstat)
3551 error = nfsd->nd_repstat;