Lines Matching refs:fmp

73 	struct devfs_mount *fmp;  in devfs_mount()  local
115 fmp = mp->mnt_data; in devfs_mount()
116 if (fmp != NULL) { in devfs_mount()
117 sx_xlock(&fmp->dm_lock); in devfs_mount()
118 devfs_ruleset_set((devfs_rsnum)rsnum, fmp); in devfs_mount()
119 devfs_ruleset_apply(fmp); in devfs_mount()
120 sx_xunlock(&fmp->dm_lock); in devfs_mount()
126 fmp = malloc(sizeof *fmp, M_DEVFS, M_WAITOK | M_ZERO); in devfs_mount()
127 fmp->dm_idx = alloc_unr(devfs_unr); in devfs_mount()
128 sx_init(&fmp->dm_lock, "devfsmount"); in devfs_mount()
129 fmp->dm_holdcnt = 1; in devfs_mount()
139 fmp->dm_mount = mp; in devfs_mount()
140 mp->mnt_data = (void *) fmp; in devfs_mount()
143 fmp->dm_rootdir = devfs_vmkdir(fmp, NULL, 0, NULL, DEVFS_ROOTINO); in devfs_mount()
147 sx_destroy(&fmp->dm_lock); in devfs_mount()
148 free_unr(devfs_unr, fmp->dm_idx); in devfs_mount()
149 free(fmp, M_DEVFS); in devfs_mount()
154 sx_xlock(&fmp->dm_lock); in devfs_mount()
155 devfs_ruleset_set((devfs_rsnum)rsnum, fmp); in devfs_mount()
156 sx_xunlock(&fmp->dm_lock); in devfs_mount()
168 devfs_unmount_final(struct devfs_mount *fmp) in devfs_unmount_final() argument
170 sx_destroy(&fmp->dm_lock); in devfs_unmount_final()
171 free(fmp, M_DEVFS); in devfs_unmount_final()
179 struct devfs_mount *fmp; in devfs_unmount() local
183 fmp = VFSTODEVFS(mp); in devfs_unmount()
184 KASSERT(fmp->dm_mount != NULL, in devfs_unmount()
192 sx_xlock(&fmp->dm_lock); in devfs_unmount()
193 devfs_cleanup(fmp); in devfs_unmount()
194 devfs_rules_cleanup(fmp); in devfs_unmount()
195 fmp->dm_mount = NULL; in devfs_unmount()
196 hold = --fmp->dm_holdcnt; in devfs_unmount()
198 idx = fmp->dm_idx; in devfs_unmount()
199 sx_xunlock(&fmp->dm_lock); in devfs_unmount()
202 devfs_unmount_final(fmp); in devfs_unmount()