Lines Matching refs:fmp

71 	struct devfs_mount *fmp;  in devfs_mount()  local
113 fmp = mp->mnt_data; in devfs_mount()
114 if (fmp != NULL) { in devfs_mount()
115 sx_xlock(&fmp->dm_lock); in devfs_mount()
116 devfs_ruleset_set((devfs_rsnum)rsnum, fmp); in devfs_mount()
117 devfs_ruleset_apply(fmp); in devfs_mount()
118 sx_xunlock(&fmp->dm_lock); in devfs_mount()
124 fmp = malloc(sizeof *fmp, M_DEVFS, M_WAITOK | M_ZERO); in devfs_mount()
125 fmp->dm_idx = alloc_unr(devfs_unr); in devfs_mount()
126 sx_init(&fmp->dm_lock, "devfsmount"); in devfs_mount()
127 fmp->dm_holdcnt = 1; in devfs_mount()
137 fmp->dm_mount = mp; in devfs_mount()
138 mp->mnt_data = (void *) fmp; in devfs_mount()
141 fmp->dm_rootdir = devfs_vmkdir(fmp, NULL, 0, NULL, DEVFS_ROOTINO); in devfs_mount()
145 sx_destroy(&fmp->dm_lock); in devfs_mount()
146 free_unr(devfs_unr, fmp->dm_idx); in devfs_mount()
147 free(fmp, M_DEVFS); in devfs_mount()
152 sx_xlock(&fmp->dm_lock); in devfs_mount()
153 devfs_ruleset_set((devfs_rsnum)rsnum, fmp); in devfs_mount()
154 sx_xunlock(&fmp->dm_lock); in devfs_mount()
166 devfs_unmount_final(struct devfs_mount *fmp) in devfs_unmount_final() argument
168 sx_destroy(&fmp->dm_lock); in devfs_unmount_final()
169 free(fmp, M_DEVFS); in devfs_unmount_final()
177 struct devfs_mount *fmp; in devfs_unmount() local
181 fmp = VFSTODEVFS(mp); in devfs_unmount()
182 KASSERT(fmp->dm_mount != NULL, in devfs_unmount()
190 sx_xlock(&fmp->dm_lock); in devfs_unmount()
191 devfs_cleanup(fmp); in devfs_unmount()
192 devfs_rules_cleanup(fmp); in devfs_unmount()
193 fmp->dm_mount = NULL; in devfs_unmount()
194 hold = --fmp->dm_holdcnt; in devfs_unmount()
196 idx = fmp->dm_idx; in devfs_unmount()
197 sx_xunlock(&fmp->dm_lock); in devfs_unmount()
200 devfs_unmount_final(fmp); in devfs_unmount()