Lines Matching defs:fs

53 libuvfs_default_success(struct libuvfs_fs *fs, void *varg, size_t size,
79 libuvfs_callback_door_unref(libuvfs_fs_t *fs)
81 (void) mutex_lock(&fs->fs_lock);
82 fs->fs_flags &= ~LIBUVFS_FS_FLAG_DOOR_VALID;
83 (void) cond_broadcast(&fs->fs_daemon_cv);
84 (void) mutex_unlock(&fs->fs_lock);
94 libuvfs_fs_t *fs = vfs;
106 libuvfs_callback_door_unref(fs);
117 * No need to take locks on fs, since callbacks may not change after
120 reg = &fs->fs_callback[carg->lca_optag];
134 callback(fs, arg, argsize, ucred);
144 libuvfs_register_callback(libuvfs_fs_t *fs,
147 (void) mutex_lock(&fs->fs_lock);
149 if (fs->fs_flags & LIBUVFS_FS_FLAG_DOOR_VALID) {
150 (void) mutex_unlock(&fs->fs_lock);
154 fs->fs_callback[reg->lcr_optag] = *reg; /* struct assign */
156 (void) mutex_unlock(&fs->fs_lock);
162 libuvfs_register_callbacks(libuvfs_fs_t *fs,
167 (void) mutex_lock(&fs->fs_lock);
169 if (fs->fs_flags & LIBUVFS_FS_FLAG_DOOR_VALID) {
170 (void) mutex_unlock(&fs->fs_lock);
175 fs->fs_callback[reg->lcr_optag] = *reg; /* struct assign */
177 (void) mutex_unlock(&fs->fs_lock);
209 libuvfs_fs_t *fs = vfs;
212 current = atomic_add_32_nv(&fs->fs_cur_dthreads, 1);
213 if (current > fs->fs_max_dthreads) {
214 atomic_add_32(&fs->fs_cur_dthreads, -1);
218 if (pthread_create(NULL, &fs->fs_pthread_attr, tfunc, targ) != 0)
225 libuvfs_daemon_ready(libuvfs_fs_t *fs)
229 (void) mutex_lock(&fs->fs_lock);
231 rc = libuvfs_set_fsparam(fs);
235 rc = door_xcreate(libuvfs_callback_server, fs,
237 libuvfs_worker_create, libuvfs_worker_thread_prep, fs, 1);
240 fs->fs_door = rc;
241 fs->fs_flags |= LIBUVFS_FS_FLAG_DOOR_VALID;
243 (void) mutex_unlock(&fs->fs_lock);
245 rc = libuvfs_daemon_register(fs);
253 (void) mutex_lock(&fs->fs_lock);
254 while (fs->fs_flags & LIBUVFS_FS_FLAG_DOOR_VALID)
255 (void) cond_wait(&fs->fs_daemon_cv, &fs->fs_lock);
256 (void) mutex_unlock(&fs->fs_lock);
262 libuvfs_daemon_exit(fs);