Lines Matching defs:nmp

548 	struct nfsmount *nmp;
553 nmp = VTONMP(vp);
554 if (!nmp)
556 nfsvers = nmp->nm_vers;
654 error = nmp->nm_funcs->nf_access_rpc(np, &waccess, ctx);
682 struct nfsmount *nmp;
691 nmp = VTONMP(vp);
692 if (!nmp)
754 noop = nfs_open_owner_find(nmp, vfs_context_ucred(ctx), 1);
759 error = nfs_mount_state_in_use_start(nmp, vfs_context_thread(ctx));
766 nfs_mount_state_in_use_end(nmp, 0);
777 nfs_mount_state_in_use_end(nmp, 0);
790 if (nmp->nm_vers < NFS_VER4) {
850 if (nfs_mount_state_in_use_end(nmp, error)) {
859 lck_mtx_lock(&nmp->nm_lock);
860 nmp->nm_state &= ~NFSSTA_SQUISHY;
861 nmp->nm_curdeadtimeout = nmp->nm_deadtimeout;
862 if (nmp->nm_curdeadtimeout <= 0)
863 nmp->nm_deadto_start = 0;
864 nmp->nm_writers++;
865 lck_mtx_unlock(&nmp->nm_lock);
922 struct nfsmount *nmp;
930 nmp = VTONMP(vp);
931 if (!nmp)
933 nfsvers = nmp->nm_vers;
1025 lck_mtx_lock(&nmp->nm_lock);
1026 if (writers > nmp->nm_writers) {
1029 writers, nmp->nm_writers);
1030 nmp->nm_writers = 0;
1032 nmp->nm_writers -= writers;
1034 lck_mtx_unlock(&nmp->nm_lock);
1039 lck_mtx_lock(&nmp->nm_lock);
1040 if (nmp->nm_writers == 0) {
1043 nmp->nm_writers--;
1045 lck_mtx_unlock(&nmp->nm_lock);
1049 noop = nfs_open_owner_find(nmp, vfs_context_ucred(ctx), 0);
1056 error = nfs_mount_state_in_use_start(nmp, NULL);
1064 nfs_mount_state_in_use_end(nmp, 0);
1088 if (nfs_mount_state_in_use_end(nmp, error)) {
1262 struct nfsmount *nmp = mp ? VFSTONFS(mp) : NFSTONMP(np);
1266 if (!nmp)
1268 nfsvers = nmp->nm_vers;
1299 struct nfsmount *nmp;
1307 if (!(nmp = NFSTONMP(np)))
1309 nfsvers = nmp->nm_vers;
1366 nmp = NFSTONMP(np);
1367 if (!nmp)
1382 error = nmp->nm_funcs->nf_access_rpc(np, &access, ctx);
1397 error = nmp->nm_funcs->nf_getattr_rpc(np, NULL, np->n_fhp, np->n_fhsize, flags, ctx, nvap, &xid);
1529 struct nfsmount *nmp;
1541 nmp = VTONMP(vp);
1542 if (!nmp)
1544 nfsvers = nmp->nm_vers;
1545 namedattrs = (nmp->nm_fsattr.nfsa_flags & NFS_FSFLAG_NAMED_ATTR);
1546 biosize = nmp->nm_biosize;
1596 noop = nfs_open_owner_find(nmp, vfs_context_ucred(ctx), 1);
1600 error = nfs_mount_state_in_use_start(nmp, vfs_context_thread(ctx));
1604 nfs_mount_state_in_use_end(nmp, 0);
1611 nfs_mount_state_in_use_end(nmp, 0);
1631 if (nfs_mount_state_in_use_end(nmp, error))
1758 error = nmp->nm_funcs->nf_setattr_rpc(np, vap, ctx);
1789 err = nmp->nm_funcs->nf_setattr_rpc(np, vap, ctx);
1823 if (nfs_mount_state_in_use_end(nmp, error))
1840 struct nfsmount *nmp = NFSTONMP(np);
1845 if (!nmp)
1847 nfsvers = nmp->nm_vers;
2014 struct nfsmount *nmp;
2030 nmp = VFSTONFS(mp);
2031 if (!nmp) {
2035 nfsvers = nmp->nm_vers;
2036 negnamecache = !NMFLAG(nmp, NONEGNAMECACHE);
2051 if ((nfsvers > NFS_VER2) && NMFLAG(nmp, RDIRPLUS)) {
2103 nmp = VTONMP(dvp);
2104 if (!nmp) {
2108 if (NFS_BITMAP_ISSET(nmp->nm_fsattr.nfsa_bitmap, NFS_FATTR_MAXNAME) &&
2109 (cnp->cn_namelen > (int)nmp->nm_fsattr.nfsa_maxname)) {
2119 error = nmp->nm_funcs->nf_lookup_rpc_async(dnp, cnp->cn_nameptr, cnp->cn_namelen, ctx, &req);
2121 error = nmp->nm_funcs->nf_lookup_rpc_async_finish(dnp, cnp->cn_nameptr, cnp->cn_namelen, ctx, req, &xid, &fh, &nvattr);
2211 struct nfsmount *nmp;
2225 nmp = VTONMP(ap->a_vp);
2226 if (!nmp)
2228 nfsvers = nmp->nm_vers;
2245 error = nmp->nm_funcs->nf_readlink_rpc(np, bp->nb_data, &buflen, ctx);
2267 struct nfsmount *nmp;
2273 nmp = NFSTONMP(np);
2274 if (!nmp)
2276 nfsvers = nmp->nm_vers;
2321 struct nfsmount *nmp;
2330 nmp = NFSTONMP(np);
2331 if (!nmp)
2333 nfsvers = nmp->nm_vers;
2334 nmrsize = nmp->nm_rsize;
2350 if (nmp->nm_vers >= NFS_VER4)
2351 stategenid = nmp->nm_stategenid;
2352 error = nmp->nm_funcs->nf_read_rpc_async(np, txoffset, len,
2355 error = nmp->nm_funcs->nf_read_rpc_async_finish(np, req, uio, &retlen, &eof);
2356 if ((nmp->nm_vers >= NFS_VER4) && nfs_mount_state_error_should_restart(error) &&
2357 (++restart <= nfs_mount_state_max_restarts(nmp))) { /* guard against no progress */
2358 lck_mtx_lock(&nmp->nm_lock);
2359 if ((error != NFSERR_GRACE) && (stategenid == nmp->nm_stategenid)) {
2361 nfs_need_recover(nmp, error);
2363 lck_mtx_unlock(&nmp->nm_lock);
2368 tsleep(&nmp->nm_state, (PZERO-1), "nfsgrace", 2*hz);
2369 if (!(error = nfs_mount_state_wait_for_recovery(nmp)))
2398 struct nfsmount *nmp;
2402 nmp = NFSTONMP(np);
2403 if (!nmp)
2405 nfsvers = nmp->nm_vers;
2437 struct nfsmount *nmp;
2440 nmp = NFSTONMP(np);
2441 if (!nmp) {
2445 nfsvers = nmp->nm_vers;
2506 struct nfsmount *nmp = VTONMP(vp);
2551 biosize = nmp->nm_biosize;
3072 struct nfsmount *nmp;
3086 nmp = NFSTONMP(np);
3087 if (!nmp)
3089 nfsvers = nmp->nm_vers;
3090 nmwsize = nmp->nm_wsize;
3108 if (nmp->nm_vers >= NFS_VER4)
3109 stategenid = nmp->nm_stategenid;
3110 error = nmp->nm_funcs->nf_write_rpc_async(np, uio, len, thd, cred, *iomodep, NULL, &req);
3112 error = nmp->nm_funcs->nf_write_rpc_async_finish(np, req, &commit, &rlen, &wverf2);
3113 nmp = NFSTONMP(np);
3114 if (!nmp)
3116 if ((nmp->nm_vers >= NFS_VER4) && nfs_mount_state_error_should_restart(error) &&
3117 (++restart <= nfs_mount_state_max_restarts(nmp))) { /* guard against no progress */
3118 lck_mtx_lock(&nmp->nm_lock);
3119 if ((error != NFSERR_GRACE) && (stategenid == nmp->nm_stategenid)) {
3121 nfs_need_recover(nmp, error);
3123 lck_mtx_unlock(&nmp->nm_lock);
3128 tsleep(&nmp->nm_state, (PZERO-1), "nfsgrace", 2*hz);
3129 if (!(error = nfs_mount_state_wait_for_recovery(nmp)))
3191 struct nfsmount *nmp;
3196 nmp = NFSTONMP(np);
3197 if (!nmp)
3199 nfsvers = nmp->nm_vers;
3238 struct nfsmount *nmp;
3245 nmp = NFSTONMP(np);
3246 if (!nmp) {
3250 nfsvers = nmp->nm_vers;
3257 nmp = NFSTONMP(np);
3258 if (!nmp)
3279 lck_mtx_lock(&nmp->nm_lock);
3280 if (!(nmp->nm_state & NFSSTA_HASWRITEVERF)) {
3281 nmp->nm_verf = wverf;
3282 nmp->nm_state |= NFSSTA_HASWRITEVERF;
3283 } else if (nmp->nm_verf != wverf) {
3284 nmp->nm_verf = wverf;
3286 lck_mtx_unlock(&nmp->nm_lock);
3330 struct nfsmount *nmp;
3342 nmp = VTONMP(dvp);
3343 if (!nmp)
3345 nfsvers = nmp->nm_vers;
3379 nfsm_chain_add_name(error, &nmreq, cnp->cn_nameptr, cnp->cn_namelen, nmp);
3480 struct nfsmount *nmp;
3492 nmp = VTONMP(dvp);
3493 if (!nmp)
3495 nfsvers = nmp->nm_vers;
3528 nfsm_chain_add_name(error, &nmreq, cnp->cn_nameptr, cnp->cn_namelen, nmp);
3666 struct nfsmount *nmp;
3671 nmp = NFSTONMP(dnp);
3672 if (!nmp)
3674 nfsvers = nmp->nm_vers;
3675 namedattrs = (nmp->nm_fsattr.nfsa_flags & NFS_FSFLAG_NAMED_ATTR);
3732 if ((nmp->nm_vers >= NFS_VER4) && (np->n_openflags & N_DELEG_MASK))
3746 error = nmp->nm_funcs->nf_remove_rpc(dnp, cnp->cn_nameptr, cnp->cn_namelen,
3825 struct nfsmount *nmp = NFSTONMP(nsp->nsr_dnp);
3826 if (!nmp)
3828 return nmp->nm_funcs->nf_remove_rpc(nsp->nsr_dnp, nsp->nsr_name, nsp->nsr_namlen, NULL, nsp->nsr_cred);
3844 struct nfsmount *nmp;
3849 nmp = NFSTONMP(dnp);
3850 if (!nmp)
3852 nfsvers = nmp->nm_vers;
3862 nfsm_chain_add_name(error, &nmreq, name, namelen, nmp);
3916 struct nfsmount *nmp;
3923 nmp = NFSTONMP(fdnp);
3924 if (!nmp)
3926 nfsvers = nmp->nm_vers;
3973 } else if (tvp && (nmp->nm_vers >= NFS_VER4) && (tnp->n_openflags & N_DELEG_MASK)) {
3977 error = nmp->nm_funcs->nf_rename_rpc(fdnp, fcnp->cn_nameptr, fcnp->cn_namelen,
4077 struct nfsmount *nmp;
4082 nmp = NFSTONMP(fdnp);
4083 if (!nmp)
4085 nfsvers = nmp->nm_vers;
4097 nfsm_chain_add_name(error, &nmreq, fnameptr, fnamelen, nmp);
4099 nfsm_chain_add_name(error, &nmreq, tnameptr, tnamelen, nmp);
4154 struct nfsmount *nmp;
4164 nmp = VTONMP(vp);
4165 if (!nmp)
4167 nfsvers = nmp->nm_vers;
4189 nfsm_chain_add_name(error, &nmreq, cnp->cn_nameptr, cnp->cn_namelen, nmp);
4260 struct nfsmount *nmp;
4265 nmp = VTONMP(dvp);
4266 if (!nmp)
4268 nfsvers = nmp->nm_vers;
4296 nfsm_chain_add_name(error, &nmreq, cnp->cn_nameptr, cnp->cn_namelen, nmp);
4299 nfsm_chain_add_name(error, &nmreq, ap->a_target, slen, nmp);
4409 struct nfsmount *nmp;
4421 nmp = VTONMP(dvp);
4422 if (!nmp)
4424 nfsvers = nmp->nm_vers;
4449 nfsm_chain_add_name(error, &nmreq, cnp->cn_nameptr, cnp->cn_namelen, nmp);
4557 struct nfsmount *nmp;
4566 nmp = VTONMP(vp);
4567 if (!nmp)
4569 nfsvers = nmp->nm_vers;
4584 nfsm_chain_add_name(error, &nmreq, cnp->cn_nameptr, cnp->cn_namelen, nmp);
4677 struct nfsmount *nmp;
4689 nmp = VTONMP(dvp);
4690 if (!nmp)
4692 nfsvers = nmp->nm_vers;
4693 bigcookies = (nmp->nm_state & NFSSTA_BIGCOOKIES);
4992 struct nfsmount *nmp;
5051 nmp = NFSTONMP(dnp);
5052 if (!nmp)
5211 struct nfsmount *nmp;
5223 if (!(nmp = NFSTONMP(dnp)))
5336 struct nfsmount *nmp = NFSTONMP(dnp);
5339 if (nmp && (nmp->nm_vers > NFS_VER2) && NMFLAG(nmp, RDIRPLUS))
5349 struct nfsmount *nmp;
5363 nmp = NFSTONMP(dnp);
5364 if (!nmp)
5366 nfsvers = nmp->nm_vers;
5367 nmreaddirsize = nmp->nm_readdirsize;
5368 nmrsize = nmp->nm_rsize;
5369 bigcookies = nmp->nm_state & NFSSTA_BIGCOOKIES;
5371 rdirplus = ((nfsvers > NFS_VER2) && NMFLAG(nmp, RDIRPLUS)) ? 1 : 0;
5440 lck_mtx_lock(&nmp->nm_lock);
5441 NFS_BITMAP_CLR(nmp->nm_flags, NFS_MFLAG_RDIRPLUS);
5442 lck_mtx_unlock(&nmp->nm_lock);
5519 if (!bigcookies && (cookie >> 32) && (nmp == NFSTONMP(dnp))) {
5521 lck_mtx_lock(&nmp->nm_lock);
5522 nmp->nm_state |= NFSSTA_BIGCOOKIES;
5523 lck_mtx_unlock(&nmp->nm_lock);
5644 struct nfsmount *nmp;
5646 nmp = NFSTONMP(dnp);
5647 if (!nmp)
5682 error = nmp->nm_funcs->nf_rename_rpc(dnp, cnp->cn_nameptr, cnp->cn_namelen,
5721 struct nfsmount *nmp;
5725 nmp = NFSTONMP(dnp);
5726 if (!nmp)
5728 nfsvers = nmp->nm_vers;
5735 nfsm_chain_add_name(error, &nmreq, name, namelen, nmp);
5758 struct nfsmount *nmp;
5761 nmp = NFSTONMP(dnp);
5762 nfsvers = nmp->nm_vers;
5820 struct nfsmount *nmp;
5824 nmp = NFSTONMP(dnp);
5825 if (!nmp)
5828 if (NFS_BITMAP_ISSET(nmp->nm_fsattr.nfsa_bitmap, NFS_FATTR_MAXNAME) &&
5829 (namelen > (int)nmp->nm_fsattr.nfsa_maxname))
5842 error = nmp->nm_funcs->nf_lookup_rpc_async(dnp, name, namelen, ctx, &req);
5844 error = nmp->nm_funcs->nf_lookup_rpc_async_finish(dnp, name, namelen, ctx, req, &xid, &fh, &nvattr);
5905 struct nfsmount *nmp = NFSTONMP(dnp);
5911 if (!nmp || NMFLAG(nmp, NONEGNAMECACHE))
5931 nmp = NFSTONMP(dnp);
5932 if (nmp && (nmp->nm_vers > NFS_VER2) && NMFLAG(nmp, RDIRPLUS)) {
5953 struct nfsmount *nmp = NFSTONMP(dnp);
5956 if (!nmp || !(dulp->du_flags & NFS_DULOOKUP_DOIT) || (dulp->du_flags & NFS_DULOOKUP_INPROG))
5958 if (!nmp->nm_funcs->nf_lookup_rpc_async(dnp, dulp->du_cn.cn_nameptr,
5969 struct nfsmount *nmp = NFSTONMP(dnp);
5976 if (!nmp || !(dulp->du_flags & NFS_DULOOKUP_INPROG))
5980 error = nmp->nm_funcs->nf_lookup_rpc_async_finish(dnp, dulp->du_cn.cn_nameptr,
6017 struct nfsmount *nmp;
6024 nmp = NFSTONMP(np);
6025 FSDBG(521, np, offset, count, nmp ? nmp->nm_state : 0);
6026 if (!nmp)
6028 if (!(nmp->nm_state & NFSSTA_HASWRITEVERF))
6030 nfsvers = nmp->nm_vers;
6058 lck_mtx_lock(&nmp->nm_lock);
6059 if (nmp->nm_verf != newwverf)
6060 nmp->nm_verf = newwverf;
6063 lck_mtx_unlock(&nmp->nm_lock);
6117 struct nfsmount *nmp = NFSTONMP(np);
6120 if (!nmp)
6122 nfsvers = nmp->nm_vers;
6168 nfs3_pathconf_cache(struct nfsmount *nmp, struct nfs_fsattr *nfsap)
6170 nmp->nm_fsattr.nfsa_maxlink = nfsap->nfsa_maxlink;
6171 nmp->nm_fsattr.nfsa_maxname = nfsap->nfsa_maxname;
6172 nmp->nm_fsattr.nfsa_flags |= nfsap->nfsa_flags & NFS_FSFLAG_NO_TRUNC;
6173 nmp->nm_fsattr.nfsa_flags |= nfsap->nfsa_flags & NFS_FSFLAG_CHOWN_RESTRICTED;
6174 nmp->nm_fsattr.nfsa_flags |= nfsap->nfsa_flags & NFS_FSFLAG_CASE_INSENSITIVE;
6175 nmp->nm_fsattr.nfsa_flags |= nfsap->nfsa_flags & NFS_FSFLAG_CASE_PRESERVING;
6176 NFS_BITMAP_SET(nmp->nm_fsattr.nfsa_bitmap, NFS_FATTR_MAXLINK);
6177 NFS_BITMAP_SET(nmp->nm_fsattr.nfsa_bitmap, NFS_FATTR_MAXNAME);
6178 NFS_BITMAP_SET(nmp->nm_fsattr.nfsa_bitmap, NFS_FATTR_NO_TRUNC);
6179 NFS_BITMAP_SET(nmp->nm_fsattr.nfsa_bitmap, NFS_FATTR_CHOWN_RESTRICTED);
6180 NFS_BITMAP_SET(nmp->nm_fsattr.nfsa_bitmap, NFS_FATTR_CASE_INSENSITIVE);
6181 NFS_BITMAP_SET(nmp->nm_fsattr.nfsa_bitmap, NFS_FATTR_CASE_PRESERVING);
6182 nmp->nm_state |= NFSSTA_GOTPATHCONF;
6204 struct nfsmount *nmp;
6210 nmp = VTONMP(vp);
6211 if (!nmp)
6223 if (nmp->nm_vers == NFS_VER2) {
6230 if (nmp->nm_fsattr.nfsa_flags & NFS_FSFLAG_NAMED_ATTR)
6239 if (nmp->nm_vers == NFS_VER2)
6242 lck_mtx_lock(&nmp->nm_lock);
6243 if (nmp->nm_vers == NFS_VER3) {
6244 if (!(nmp->nm_state & NFSSTA_GOTPATHCONF)) {
6246 lck_mtx_unlock(&nmp->nm_lock);
6251 nmp = VTONMP(vp);
6252 if (!nmp)
6254 lck_mtx_lock(&nmp->nm_lock);
6255 if (nmp->nm_fsattr.nfsa_flags & NFS_FSFLAG_HOMOGENEOUS) {
6258 nfs3_pathconf_cache(nmp, &nfsa);
6262 nfsap = &nmp->nm_fsattr;
6264 } else if (!(nmp->nm_fsattr.nfsa_flags & NFS_FSFLAG_HOMOGENEOUS)) {
6266 lck_mtx_unlock(&nmp->nm_lock);
6271 nmp = VTONMP(vp);
6272 if (!nmp)
6274 lck_mtx_lock(&nmp->nm_lock);
6277 nfsap = &nmp->nm_fsattr;
6284 else if ((nmp->nm_vers == NFS_VER4) && NFS_BITMAP_ISSET(np->n_vattr.nva_bitmap, NFS_FATTR_MAXLINK))
6357 lck_mtx_unlock(&nmp->nm_lock);
6665 struct nfsmount *nmp;
6703 nmp = VTONMP(vp);
6704 if (!nmp) {
6710 nmrsize = nmp->nm_rsize;
6719 if (nmp->nm_vers >= NFS_VER4)
6720 stategenid = nmp->nm_stategenid;
6735 if ((error = nmp->nm_funcs->nf_read_rpc_async(np, txoffset, iosize, thd, cred, NULL, &req[nextsend]))) {
6753 error = nmp->nm_funcs->nf_read_rpc_async_finish(np, req[nextwait], uio, &retsize, NULL);
6756 if ((nmp->nm_vers >= NFS_VER4) && nfs_mount_state_error_should_restart(error)) {
6757 lck_mtx_lock(&nmp->nm_lock);
6758 if ((error != NFSERR_GRACE) && (stategenid == nmp->nm_stategenid)) {
6760 nfs_need_recover(nmp, error);
6762 lck_mtx_unlock(&nmp->nm_lock);
6797 if (restart <= nfs_mount_state_max_restarts(nmp)) { /* guard against no progress */
6799 tsleep(&nmp->nm_state, (PZERO-1), "nfsgrace", 2*hz);
6800 if (!(error = nfs_mount_state_wait_for_recovery(nmp)))
6975 struct nfsmount *nmp = VTONMP(vp);
7002 if (!nmp) {
7007 biosize = nmp->nm_biosize;
7008 nmwsize = nmp->nm_wsize;
7168 if (nmp->nm_vers >= NFS_VER4)
7169 stategenid = nmp->nm_stategenid;
7195 if ((error = nmp->nm_funcs->nf_write_rpc_async(np, auio, iosize, thd, cred, iomode, NULL, &req[nextsend]))) {
7211 error = nmp->nm_funcs->nf_write_rpc_async_finish(np, req[nextwait], &iomode, &iosize, &wverf2);
7218 if ((nmp->nm_vers >= NFS_VER4) && nfs_mount_state_error_should_restart(error)) {
7219 lck_mtx_lock(&nmp->nm_lock);
7220 if ((error != NFSERR_GRACE) && (stategenid == nmp->nm_stategenid)) {
7222 nfs_need_recover(nmp, error);
7224 lck_mtx_unlock(&nmp->nm_lock);
7254 if ((nmp->nm_vers >= NFS_VER4) && nfs_mount_state_error_should_restart(error)) {
7256 lck_mtx_lock(&nmp->nm_lock);
7257 if ((error != NFSERR_GRACE) && (stategenid == nmp->nm_stategenid)) {
7259 nfs_need_recover(nmp, error);
7261 lck_mtx_unlock(&nmp->nm_lock);
7288 error = nmp->nm_funcs->nf_commit_rpc(np, f_offset, xsize, cred, wverf);
7317 if (restarts <= nfs_mount_state_max_restarts(nmp)) { /* guard against no progress */
7319 tsleep(&nmp->nm_state, (PZERO-1), "nfsgrace", 2*hz);
7320 if (!(error = nfs_mount_state_wait_for_recovery(nmp)))
7410 struct nfsmount *nmp = VTONMP(vp);
7412 if (!nmp)
7414 biosize = nmp->nm_biosize;
7432 struct nfsmount *nmp = VTONMP(vp);
7434 if (!nmp)
7436 biosize = nmp->nm_biosize;
7458 struct nfsmount *nmp = VTONMP(ap->a_vp);
7461 if (!nmp)
7465 lck_mtx_lock(&nmp->nm_lock);
7469 LIST_INSERT_HEAD(&nmp->nm_monlist, np, n_monlink);
7470 nfs_mount_sock_thread_wake(nmp);
7478 msleep(&np->n_mflag, &nmp->nm_lock, PZERO-1, "nfswaitmonscan", &ts);
7485 lck_mtx_unlock(&nmp->nm_lock);
7496 struct nfsmount *nmp = NFSTONMP(np);
7502 if ((np->n_evtstamp == now.tv_sec) || !nmp) {
7515 VATTR_RETURN(vap, va_fsid, vfs_statfs(nmp->nm_mountp)->f_fsid.val[0]);