Lines Matching defs:nmp
168 struct nfsmount *nmp = VFSTONFS(mp);
173 int v3 = (nmp->nm_flag & NFSMNT_NFSV3);
183 vp = nmp->nm_vnode;
187 if (v3 && (nmp->nm_iflag & NFSMNT_GOTFSINFO) == 0)
188 (void)nfs_fsinfo(nmp, vp, cred, l);
205 sbp->f_flag = nmp->nm_flag;
206 sbp->f_iosize = uimin(nmp->nm_rsize, nmp->nm_wsize);
249 nfs_fsinfo(struct nfsmount *nmp, struct vnode *vp, kauth_cred_t cred, struct lwp *l)
269 if ((nmp->nm_flag & NFSMNT_WSIZE) == 0 &&
270 pref < nmp->nm_wsize && pref >= NFS_FABLKSIZE)
271 nmp->nm_wsize = (pref + NFS_FABLKSIZE - 1) &
274 if (xmax < nmp->nm_wsize && xmax > 0) {
275 nmp->nm_wsize = xmax & ~(NFS_FABLKSIZE - 1);
276 if (nmp->nm_wsize == 0)
277 nmp->nm_wsize = xmax;
280 if ((nmp->nm_flag & NFSMNT_RSIZE) == 0 &&
281 pref < nmp->nm_rsize && pref >= NFS_FABLKSIZE)
282 nmp->nm_rsize = (pref + NFS_FABLKSIZE - 1) &
285 if (xmax < nmp->nm_rsize && xmax > 0) {
286 nmp->nm_rsize = xmax & ~(NFS_FABLKSIZE - 1);
287 if (nmp->nm_rsize == 0)
288 nmp->nm_rsize = xmax;
291 if (pref < nmp->nm_readdirsize && pref >= NFS_DIRFRAGSIZ)
292 nmp->nm_readdirsize = (pref + NFS_DIRFRAGSIZ - 1) &
294 if (xmax < nmp->nm_readdirsize && xmax > 0) {
295 nmp->nm_readdirsize = xmax & ~(NFS_DIRFRAGSIZ - 1);
296 if (nmp->nm_readdirsize == 0)
297 nmp->nm_readdirsize = xmax;
299 nmp->nm_maxfilesize = 0xffffffffffffffffull;
301 if (maxfsize > 0 && maxfsize < nmp->nm_maxfilesize)
302 nmp->nm_maxfilesize = maxfsize;
303 nmp->nm_mountp->mnt_fs_bshift =
304 ffs(MIN(nmp->nm_rsize, nmp->nm_wsize)) - 1;
305 nmp->nm_iflag |= NFSMNT_GOTFSINFO;
338 * current time < nfs_attrtimeo(nmp, np) so keep this in for now.
437 nfs_decode_args(struct nfsmount *nmp, struct nfs_args *argp, struct lwp *l)
460 adjsock = !(nmp->nm_flag & NFSMNT_RESVPORT)
463 adjsock |= ((nmp->nm_flag & NFSMNT_NOCONN) !=
467 nmp->nm_flag = argp->flags;
471 nmp->nm_timeo = (argp->timeo * NFS_HZ + 5) / 10;
472 if (nmp->nm_timeo < NFS_MINTIMEO)
473 nmp->nm_timeo = NFS_MINTIMEO;
474 else if (nmp->nm_timeo > NFS_MAXTIMEO)
475 nmp->nm_timeo = NFS_MAXTIMEO;
479 nmp->nm_retry = argp->retrans;
480 if (nmp->nm_retry > NFS_MAXREXMIT)
481 nmp->nm_retry = NFS_MAXREXMIT;
495 int osize = nmp->nm_wsize;
496 nmp->nm_wsize = argp->wsize;
498 nmp->nm_wsize &= ~(NFS_FABLKSIZE - 1);
499 if (nmp->nm_wsize <= 0)
500 nmp->nm_wsize = NFS_FABLKSIZE;
501 adjsock |= (nmp->nm_wsize != osize);
503 if (nmp->nm_wsize > maxio)
504 nmp->nm_wsize = maxio;
505 if (nmp->nm_wsize > MAXBSIZE)
506 nmp->nm_wsize = MAXBSIZE;
509 int osize = nmp->nm_rsize;
510 nmp->nm_rsize = argp->rsize;
512 nmp->nm_rsize &= ~(NFS_FABLKSIZE - 1);
513 if (nmp->nm_rsize <= 0)
514 nmp->nm_rsize = NFS_FABLKSIZE;
515 adjsock |= (nmp->nm_rsize != osize);
517 if (nmp->nm_rsize > maxio)
518 nmp->nm_rsize = maxio;
519 if (nmp->nm_rsize > MAXBSIZE)
520 nmp->nm_rsize = MAXBSIZE;
523 nmp->nm_readdirsize = argp->readdirsize;
525 nmp->nm_readdirsize &= ~(NFS_DIRFRAGSIZ - 1);
526 if (nmp->nm_readdirsize < NFS_DIRFRAGSIZ)
527 nmp->nm_readdirsize = NFS_DIRFRAGSIZ;
529 if (nmp->nm_readdirsize > NFS_DIRBLKSIZ)
530 nmp->nm_readdirsize = NFS_DIRBLKSIZ;
532 nmp->nm_readdirsize = nmp->nm_rsize;
534 if (nmp->nm_readdirsize > maxio)
535 nmp->nm_readdirsize = maxio;
539 nmp->nm_numgrps = argp->maxgrouplist;
542 nmp->nm_readahead = argp->readahead;
545 nmp->nm_deadthresh = argp->deadthresh;
547 adjsock |= ((nmp->nm_sotype != argp->sotype) ||
548 (nmp->nm_soproto != argp->proto));
549 nmp->nm_sotype = argp->sotype;
550 nmp->nm_soproto = argp->proto;
552 if (nmp->nm_so && adjsock) {
553 nfs_safedisconnect(nmp);
554 if (nmp->nm_sotype == SOCK_DGRAM)
555 while (nfs_connect(nmp, (struct nfsreq *)0, l)) {
579 struct nfsmount *nmp = VFSTONFS(mp);
593 if (nmp == NULL)
596 sa = mtod(nmp->nm_nam, struct sockaddr *);
605 args->sotype = nmp->nm_sotype;
606 args->proto = nmp->nm_soproto;
609 args->flags = nmp->nm_flag;
610 args->wsize = nmp->nm_wsize;
611 args->rsize = nmp->nm_rsize;
612 args->readdirsize = nmp->nm_readdirsize;
613 args->timeo = nmp->nm_timeo;
614 args->retrans = nmp->nm_retry;
615 args->maxgrouplist = nmp->nm_numgrps;
616 args->readahead = nmp->nm_readahead;
618 args->deadthresh = nmp->nm_deadthresh;
633 if (nmp == NULL)
640 (nmp->nm_flag & (NFSMNT_NFSV3|NFSMNT_XLATECOOKIE));
641 nfs_decode_args(nmp, args, l);
685 struct nfsmount *nmp;
703 nmp = VFSTONFS(mp);
708 nmp = kmem_zalloc(sizeof(*nmp), KM_SLEEP);
709 TAILQ_INIT(&nmp->nm_uidlruhead);
710 TAILQ_INIT(&nmp->nm_bufq);
711 rw_init(&nmp->nm_writeverflock);
712 mutex_init(&nmp->nm_lock, MUTEX_DEFAULT, IPL_NONE);
713 cv_init(&nmp->nm_rcvcv, "nfsrcv");
714 cv_init(&nmp->nm_sndcv, "nfssnd");
715 cv_init(&nmp->nm_aiocv, "nfsaio");
716 cv_init(&nmp->nm_disconcv, "nfsdis");
718 mp->mnt_data = nmp;
721 nmp->nm_mountp = mp;
736 nmp->nm_maxfilesize = 0xffffffffLL;
738 nmp->nm_timeo = NFS_TIMEO;
739 nmp->nm_retry = NFS_RETRANS;
740 nmp->nm_wsize = NFS_WSIZE;
741 nmp->nm_rsize = NFS_RSIZE;
742 nmp->nm_readdirsize = NFS_READDIRSIZE;
743 nmp->nm_numgrps = NFS_MAXGRPS;
744 nmp->nm_readahead = NFS_DEFRAHEAD;
745 nmp->nm_deadthresh = NFS_DEFDEADTHRESH;
750 nmp->nm_nam = nam;
753 nmp->nm_sotype = argp->sotype;
754 nmp->nm_soproto = argp->proto;
756 nfs_decode_args(nmp, argp, l);
758 mp->mnt_fs_bshift = ffs(MIN(nmp->nm_rsize, nmp->nm_wsize)) - 1;
765 if (nmp->nm_sotype == SOCK_DGRAM &&
766 (error = nfs_connect(nmp, (struct nfsreq *)0, l)))
782 if ((nmp->nm_flag & NFSMNT_NFSV3) && (vp->v_type == VDIR)) {
790 nfs_cookieheuristic(vp, &nmp->nm_iflag, l, cr);
804 nmp->nm_vnode = vp;
812 nmp->nm_stats = iostat_alloc(IOSTAT_NFS, nmp, iosname);
816 nfs_disconnect(nmp);
817 rw_destroy(&nmp->nm_writeverflock);
818 mutex_destroy(&nmp->nm_lock);
819 cv_destroy(&nmp->nm_rcvcv);
820 cv_destroy(&nmp->nm_sndcv);
821 cv_destroy(&nmp->nm_aiocv);
822 cv_destroy(&nmp->nm_disconcv);
823 kmem_free(nmp, sizeof(*nmp));
834 struct nfsmount *nmp = VFSTONFS(mp);
839 mutex_enter(&nmp->nm_lock);
841 nmp->nm_iflag |= NFSMNT_DISMNTFORCE;
842 mutex_exit(&nmp->nm_lock);
859 vp = nmp->nm_vnode;
881 nmp->nm_iflag |= NFSMNT_DISMNT;
887 while (nfs_iodbusy(nmp))
895 iostat_free(nmp->nm_stats);
903 nfs_disconnect(nmp);
904 m_freem(nmp->nm_nam);
906 rw_destroy(&nmp->nm_writeverflock);
907 mutex_destroy(&nmp->nm_lock);
908 cv_destroy(&nmp->nm_rcvcv);
909 cv_destroy(&nmp->nm_sndcv);
910 cv_destroy(&nmp->nm_aiocv);
911 cv_destroy(&nmp->nm_disconcv);
912 kmem_free(nmp, sizeof(*nmp));
917 mutex_enter(&nmp->nm_lock);
918 nmp->nm_iflag &= ~NFSMNT_DISMNTFORCE;
919 mutex_exit(&nmp->nm_lock);
932 struct nfsmount *nmp;
935 nmp = VFSTONFS(mp);
936 vp = nmp->nm_vnode;