Lines Matching refs:mi

485 	mntinfo_t *mi;			/* mount info, pointed at by vfs */
571 if ((mi = VFTOMI(vfsp)) != NULL) {
576 old_mi_llock = (mi->mi_flags & MI_LLOCK) ? 1 : 0;
597 mi = NULL;
957 mi = VTOMI(rtvp);
960 mi->mi_flags |= MI_LLOCK;
976 if (mi != NULL) {
979 if (mi->mi_io_kstats) {
980 kstat_delete(mi->mi_io_kstats);
981 mi->mi_io_kstats = NULL;
983 if (mi->mi_ro_kstats) {
984 kstat_delete(mi->mi_ro_kstats);
985 mi->mi_ro_kstats = NULL;
987 nfs_free_mi(mi);
1014 mntinfo_t *mi;
1034 mi = kmem_zalloc(sizeof (*mi), KM_SLEEP);
1035 mutex_init(&mi->mi_lock, NULL, MUTEX_DEFAULT, NULL);
1036 mutex_init(&mi->mi_remap_lock, NULL, MUTEX_DEFAULT, NULL);
1037 mi->mi_flags = MI_ACL | MI_EXTATTR;
1039 mi->mi_flags |= MI_HARD;
1041 mi->mi_flags |= MI_SEMISOFT;
1043 mi->mi_flags |= MI_NOPRINT;
1045 mi->mi_flags |= MI_INT;
1046 mi->mi_retrans = NFS_RETRIES;
1049 mi->mi_timeo = nfs3_cots_timeo;
1051 mi->mi_timeo = NFS_TIMEO;
1052 mi->mi_prog = NFS_PROGRAM;
1053 mi->mi_vers = NFS_V3;
1054 mi->mi_rfsnames = rfsnames_v3;
1055 mi->mi_reqs = nfsstatsp->nfs_stats_v3.rfsreqcnt_ptr;
1056 mi->mi_call_type = call_type_v3;
1057 mi->mi_ss_call_type = ss_call_type_v3;
1058 mi->mi_timer_type = timer_type_v3;
1059 mi->mi_aclnames = aclnames_v3;
1060 mi->mi_aclreqs = nfsstatsp->nfs_stats_v3.aclreqcnt_ptr;
1061 mi->mi_acl_call_type = acl_call_type_v3;
1062 mi->mi_acl_ss_call_type = acl_ss_call_type_v3;
1063 mi->mi_acl_timer_type = acl_timer_type_v3;
1064 cv_init(&mi->mi_failover_cv, NULL, CV_DEFAULT, NULL);
1065 mi->mi_servers = svp;
1066 mi->mi_curr_serv = svp;
1067 mi->mi_acregmin = SEC2HR(ACREGMIN);
1068 mi->mi_acregmax = SEC2HR(ACREGMAX);
1069 mi->mi_acdirmin = SEC2HR(ACDIRMIN);
1070 mi->mi_acdirmax = SEC2HR(ACDIRMAX);
1073 mi->mi_flags |= MI_DYNAMIC;
1076 mi->mi_flags |= MI_DIRECTIO;
1093 vfsp->vfs_data = (caddr_t)mi;
1111 mi->mi_async_clusters[i] = nfs3_async_clusters;
1112 mi->mi_async_init_clusters = nfs3_async_clusters;
1113 mi->mi_async_curr[NFS_ASYNC_QUEUE] =
1114 mi->mi_async_curr[NFS_ASYNC_PGOPS_QUEUE] = &mi->mi_async_reqs[0];
1115 mi->mi_max_threads = nfs3_max_threads;
1116 mutex_init(&mi->mi_async_lock, NULL, MUTEX_DEFAULT, NULL);
1117 cv_init(&mi->mi_async_reqs_cv, NULL, CV_DEFAULT, NULL);
1118 cv_init(&mi->mi_async_work_cv[NFS_ASYNC_QUEUE], NULL, CV_DEFAULT, NULL);
1119 cv_init(&mi->mi_async_work_cv[NFS_ASYNC_PGOPS_QUEUE], NULL,
1121 cv_init(&mi->mi_async_cv, NULL, CV_DEFAULT, NULL);
1123 mi->mi_vfsp = vfsp;
1124 mi->mi_zone = zone;
1125 zone_init_ref(&mi->mi_zone_ref);
1126 zone_hold_ref(zone, &mi->mi_zone_ref, ZONE_REF_NFS);
1127 nfs_mi_zonelist_add(mi);
1146 mi->mi_tsize = nfs3_tsize(svp->sv_knconf);
1147 mi->mi_stsize = mi->mi_tsize;
1149 mi->mi_curread = nfs3_bsize;
1150 mi->mi_curwrite = mi->mi_curread;
1163 for (svp = mi->mi_servers; svp != NULL; svp = svp->sv_next) {
1165 mi->mi_curr_serv = svp;
1167 mi->mi_tsize = MIN(max_transfer_size, mi->mi_tsize);
1168 mi->mi_stsize = MIN(max_transfer_size, mi->mi_stsize);
1169 mi->mi_curread = MIN(max_transfer_size, mi->mi_curread);
1170 mi->mi_curwrite = MIN(max_transfer_size, mi->mi_curwrite);
1173 error = rfs3call(mi, NFSPROC3_FSINFO,
1221 mi->mi_tsize = MIN(res.resok.rtmax, mi->mi_tsize);
1223 mi->mi_curread = MIN(res.resok.rtpref,
1224 mi->mi_curread);
1226 mi->mi_curread = MIN(res.resok.rtmax,
1227 mi->mi_curread);
1230 mi->mi_tsize = MIN(res.resok.rtpref, mi->mi_tsize);
1231 mi->mi_curread = MIN(res.resok.rtpref, mi->mi_curread);
1246 mi->mi_stsize = MIN(res.resok.wtmax, mi->mi_stsize);
1248 mi->mi_curwrite = MIN(res.resok.wtpref,
1249 mi->mi_curwrite);
1251 mi->mi_curwrite = MIN(res.resok.wtmax,
1252 mi->mi_curwrite);
1255 mi->mi_stsize = MIN(res.resok.wtpref, mi->mi_stsize);
1256 mi->mi_curwrite = MIN(res.resok.wtpref,
1257 mi->mi_curwrite);
1279 mi->mi_flags |= MI_LINK;
1281 mi->mi_flags |= MI_SYMLINK;
1285 if (mi->mi_maxfilesize) {
1286 mi->mi_maxfilesize = MIN(mi->mi_maxfilesize,
1289 mi->mi_maxfilesize = res.resok.maxfilesize;
1298 mi->mi_curr_serv = mi->mi_servers;
1304 mi->mi_manager_thread = zthread_create(NULL, 0, nfs_async_manager,
1306 ASSERT(mi->mi_manager_thread != NULL);
1323 mi->mi_type = rtvp->v_type;
1344 if (mi->mi_io_kstats) {
1345 kstat_delete(mi->mi_io_kstats);
1346 mi->mi_io_kstats = NULL;
1348 if (mi->mi_ro_kstats) {
1349 kstat_delete(mi->mi_ro_kstats);
1350 mi->mi_ro_kstats = NULL;
1352 nfs_free_mi(mi);
1363 mntinfo_t *mi;
1369 mi = VFTOMI(vfsp);
1379 mutex_enter(&mi->mi_async_lock);
1380 mi->mi_max_threads = 0;
1381 NFS_WAKEALL_ASYNC_WORKERS(mi->mi_async_work_cv);
1382 mutex_exit(&mi->mi_async_lock);
1390 if (mi->mi_io_kstats) {
1391 kstat_delete(mi->mi_io_kstats);
1392 mi->mi_io_kstats = NULL;
1394 if (mi->mi_ro_kstats) {
1395 kstat_delete(mi->mi_ro_kstats);
1396 mi->mi_ro_kstats = NULL;
1405 omax = mi->mi_max_threads;
1415 mutex_enter(&mi->mi_async_lock);
1416 mi->mi_max_threads = omax;
1417 mutex_exit(&mi->mi_async_lock);
1430 if (mi->mi_io_kstats) {
1431 kstat_delete(mi->mi_io_kstats);
1432 mi->mi_io_kstats = NULL;
1434 if (mi->mi_ro_kstats) {
1435 kstat_delete(mi->mi_ro_kstats);
1436 mi->mi_ro_kstats = NULL;
1447 mntinfo_t *mi;
1453 mi = VFTOMI(vfsp);
1455 if (nfs_zone() != mi->mi_zone)
1458 svp = mi->mi_curr_serv;
1466 vp = makenfs3node((nfs_fh3 *)&mi->mi_curr_serv->sv_fhandle,
1484 ASSERT(vp->v_type == VNON || vp->v_type == mi->mi_type);
1486 vp->v_type = mi->mi_type;
1500 struct mntinfo *mi;
1509 mi = VFTOMI(vfsp);
1510 if (nfs_zone() != mi->mi_zone)
1529 error = rfs3call(mi, NFSPROC3_FSSTAT,
1800 mntinfo_t *mi;
1804 mi = VFTOMI(vfsp);
1805 svp = mi->mi_servers;
1806 mi->mi_servers = mi->mi_curr_serv = NULL;
1811 * mi kstats in the unmount code. If they are still around
1814 ASSERT(mi->mi_io_kstats == NULL);
1815 nfs_free_mi(mi);