Lines Matching refs:mi

502 	mntinfo_t *mi;			/* mount info, pointed at by vfs */
590 if ((mi = VFTOMI(vfsp)) != NULL) {
595 old_mi_llock = (mi->mi_flags & MI_LLOCK) ? 1 : 0;
623 mi = NULL;
984 mi = VTOMI(rtvp);
987 mi->mi_flags |= MI_LLOCK;
992 error = pathconf_get(mi, args);
1007 if (mi != NULL) {
1010 if (mi->mi_io_kstats) {
1011 kstat_delete(mi->mi_io_kstats);
1012 mi->mi_io_kstats = NULL;
1014 if (mi->mi_ro_kstats) {
1015 kstat_delete(mi->mi_ro_kstats);
1016 mi->mi_ro_kstats = NULL;
1018 nfs_free_mi(mi);
1076 pathconf_get(struct mntinfo *mi, struct nfs_args *args)
1081 if (mi->mi_pathconf != NULL) {
1082 pathconf_rele(mi);
1083 mi->mi_pathconf = NULL;
1095 mi->mi_pathconf = p;
1102 allpc = mi->mi_pathconf = p;
1112 pathconf_rele(struct mntinfo *mi)
1114 if (mi->mi_pathconf != NULL) {
1115 if (--mi->mi_pathconf->pc_refcnt == 0) {
1120 while (p != NULL && p != mi->mi_pathconf) {
1125 panic("mi->pathconf");
1133 mi->mi_pathconf = NULL;
1148 mntinfo_t *mi;
1163 mi = kmem_zalloc(sizeof (*mi), KM_SLEEP);
1164 mutex_init(&mi->mi_lock, NULL, MUTEX_DEFAULT, NULL);
1165 mutex_init(&mi->mi_remap_lock, NULL, MUTEX_DEFAULT, NULL);
1166 mi->mi_flags = MI_ACL | MI_EXTATTR;
1168 mi->mi_flags |= MI_HARD;
1170 mi->mi_flags |= MI_SEMISOFT;
1172 mi->mi_flags |= MI_NOPRINT;
1174 mi->mi_flags |= MI_INT;
1175 mi->mi_retrans = NFS_RETRIES;
1178 mi->mi_timeo = nfs_cots_timeo;
1180 mi->mi_timeo = NFS_TIMEO;
1181 mi->mi_prog = NFS_PROGRAM;
1182 mi->mi_vers = NFS_VERSION;
1183 mi->mi_rfsnames = rfsnames_v2;
1184 mi->mi_reqs = nfsstatsp->nfs_stats_v2.rfsreqcnt_ptr;
1185 mi->mi_call_type = call_type_v2;
1186 mi->mi_ss_call_type = ss_call_type_v2;
1187 mi->mi_timer_type = timer_type_v2;
1188 mi->mi_aclnames = aclnames_v2;
1189 mi->mi_aclreqs = nfsstatsp->nfs_stats_v2.aclreqcnt_ptr;
1190 mi->mi_acl_call_type = acl_call_type_v2;
1191 mi->mi_acl_ss_call_type = acl_ss_call_type_v2;
1192 mi->mi_acl_timer_type = acl_timer_type_v2;
1193 cv_init(&mi->mi_failover_cv, NULL, CV_DEFAULT, NULL);
1194 mi->mi_servers = svp;
1195 mi->mi_curr_serv = svp;
1196 mi->mi_acregmin = SEC2HR(ACREGMIN);
1197 mi->mi_acregmax = SEC2HR(ACREGMAX);
1198 mi->mi_acdirmin = SEC2HR(ACDIRMIN);
1199 mi->mi_acdirmax = SEC2HR(ACDIRMAX);
1202 mi->mi_flags |= MI_DYNAMIC;
1205 mi->mi_flags |= MI_DIRECTIO;
1222 vfsp->vfs_data = (caddr_t)mi;
1230 mi->mi_async_clusters[i] = nfs_async_clusters;
1231 mi->mi_async_init_clusters = nfs_async_clusters;
1232 mi->mi_async_curr[NFS_ASYNC_QUEUE] =
1233 mi->mi_async_curr[NFS_ASYNC_PGOPS_QUEUE] = &mi->mi_async_reqs[0];
1234 mi->mi_max_threads = nfs_max_threads;
1235 mutex_init(&mi->mi_async_lock, NULL, MUTEX_DEFAULT, NULL);
1236 cv_init(&mi->mi_async_reqs_cv, NULL, CV_DEFAULT, NULL);
1237 cv_init(&mi->mi_async_work_cv[NFS_ASYNC_QUEUE], NULL, CV_DEFAULT, NULL);
1238 cv_init(&mi->mi_async_work_cv[NFS_ASYNC_PGOPS_QUEUE], NULL,
1240 cv_init(&mi->mi_async_cv, NULL, CV_DEFAULT, NULL);
1242 mi->mi_vfsp = vfsp;
1243 mi->mi_zone = zone;
1244 zone_init_ref(&mi->mi_zone_ref);
1245 zone_hold_ref(zone, &mi->mi_zone_ref, ZONE_REF_NFS);
1246 nfs_mi_zonelist_add(mi);
1282 mi->mi_tsize = MIN(NFS_MAXDATA, nfstsize());
1283 mi->mi_stsize = MIN(NFS_MAXDATA, nfstsize());
1285 for (svp = mi->mi_servers; svp != NULL; svp = svp->sv_next) {
1290 mi->mi_curr_serv = svp;
1292 error = rfs2call(mi, RFS_STATFS, xdr_fhandle,
1297 mi->mi_stsize = MIN(mi->mi_stsize, fs.fs_tsize);
1300 mi->mi_curr_serv = mi->mi_servers;
1301 mi->mi_curread = mi->mi_tsize;
1302 mi->mi_curwrite = mi->mi_stsize;
1309 mi->mi_manager_thread = zthread_create(NULL, 0, nfs_async_manager,
1311 ASSERT(mi->mi_manager_thread != NULL);
1318 mi->mi_type = rtvp->v_type;
1339 if (mi->mi_io_kstats) {
1340 kstat_delete(mi->mi_io_kstats);
1341 mi->mi_io_kstats = NULL;
1343 if (mi->mi_ro_kstats) {
1344 kstat_delete(mi->mi_ro_kstats);
1345 mi->mi_ro_kstats = NULL;
1347 nfs_free_mi(mi);
1358 mntinfo_t *mi;
1364 mi = VFTOMI(vfsp);
1374 mutex_enter(&mi->mi_async_lock);
1375 mi->mi_max_threads = 0;
1376 NFS_WAKEALL_ASYNC_WORKERS(mi->mi_async_work_cv);
1377 mutex_exit(&mi->mi_async_lock);
1385 if (mi->mi_io_kstats) {
1386 kstat_delete(mi->mi_io_kstats);
1387 mi->mi_io_kstats = NULL;
1389 if (mi->mi_ro_kstats) {
1390 kstat_delete(mi->mi_ro_kstats);
1391 mi->mi_ro_kstats = NULL;
1400 omax = mi->mi_max_threads;
1410 mutex_enter(&mi->mi_async_lock);
1411 mi->mi_max_threads = omax;
1412 mutex_exit(&mi->mi_async_lock);
1425 if (mi->mi_io_kstats) {
1426 kstat_delete(mi->mi_io_kstats);
1427 mi->mi_io_kstats = NULL;
1429 if (mi->mi_ro_kstats) {
1430 kstat_delete(mi->mi_ro_kstats);
1431 mi->mi_ro_kstats = NULL;
1442 mntinfo_t *mi;
1448 mi = VFTOMI(vfsp);
1450 if (nfs_zone() != mi->mi_zone)
1453 svp = mi->mi_curr_serv;
1461 vp = makenfsnode((fhandle_t *)mi->mi_curr_serv->sv_fhandle.fh_buf,
1479 ASSERT(vp->v_type == VNON || vp->v_type == mi->mi_type);
1481 vp->v_type = mi->mi_type;
1495 mntinfo_t *mi;
1505 mi = VFTOMI(vfsp);
1513 error = rfs2call(mi, RFS_STATFS, xdr_fhandle, (caddr_t)VTOFH(vp),
1520 mutex_enter(&mi->mi_lock);
1521 if (mi->mi_stsize) {
1522 mi->mi_stsize = MIN(mi->mi_stsize, fs.fs_tsize);
1524 mi->mi_stsize = fs.fs_tsize;
1525 mi->mi_curwrite = mi->mi_stsize;
1527 mutex_exit(&mi->mi_lock);
1802 mntinfo_t *mi;
1806 mi = VFTOMI(vfsp);
1807 pathconf_rele(mi);
1808 svp = mi->mi_servers;
1809 mi->mi_servers = mi->mi_curr_serv = NULL;
1814 * mi kstats in the unmount code. If they are still around
1817 ASSERT(mi->mi_io_kstats == NULL);
1818 nfs_free_mi(mi);