Lines Matching refs:fmp
69 struct devfs_mount *fmp; in devfs_mount() local
111 fmp = mp->mnt_data; in devfs_mount()
112 if (fmp != NULL) { in devfs_mount()
113 sx_xlock(&fmp->dm_lock); in devfs_mount()
114 devfs_ruleset_set((devfs_rsnum)rsnum, fmp); in devfs_mount()
115 devfs_ruleset_apply(fmp); in devfs_mount()
116 sx_xunlock(&fmp->dm_lock); in devfs_mount()
122 fmp = malloc(sizeof *fmp, M_DEVFS, M_WAITOK | M_ZERO); in devfs_mount()
123 fmp->dm_idx = alloc_unr(devfs_unr); in devfs_mount()
124 sx_init(&fmp->dm_lock, "devfsmount"); in devfs_mount()
125 fmp->dm_holdcnt = 1; in devfs_mount()
135 fmp->dm_mount = mp; in devfs_mount()
136 mp->mnt_data = (void *) fmp; in devfs_mount()
139 fmp->dm_rootdir = devfs_vmkdir(fmp, NULL, 0, NULL, DEVFS_ROOTINO); in devfs_mount()
143 sx_destroy(&fmp->dm_lock); in devfs_mount()
144 free_unr(devfs_unr, fmp->dm_idx); in devfs_mount()
145 free(fmp, M_DEVFS); in devfs_mount()
150 sx_xlock(&fmp->dm_lock); in devfs_mount()
151 devfs_ruleset_set((devfs_rsnum)rsnum, fmp); in devfs_mount()
152 sx_xunlock(&fmp->dm_lock); in devfs_mount()
164 devfs_unmount_final(struct devfs_mount *fmp) in devfs_unmount_final() argument
166 sx_destroy(&fmp->dm_lock); in devfs_unmount_final()
167 free(fmp, M_DEVFS); in devfs_unmount_final()
175 struct devfs_mount *fmp; in devfs_unmount() local
179 fmp = VFSTODEVFS(mp); in devfs_unmount()
180 KASSERT(fmp->dm_mount != NULL, in devfs_unmount()
188 sx_xlock(&fmp->dm_lock); in devfs_unmount()
189 devfs_cleanup(fmp); in devfs_unmount()
190 devfs_rules_cleanup(fmp); in devfs_unmount()
191 fmp->dm_mount = NULL; in devfs_unmount()
192 hold = --fmp->dm_holdcnt; in devfs_unmount()
194 idx = fmp->dm_idx; in devfs_unmount()
195 sx_xunlock(&fmp->dm_lock); in devfs_unmount()
198 devfs_unmount_final(fmp); in devfs_unmount()