コード例 #1
0
ファイル: zfs_vfsops.c プロジェクト: roddi/mac-zfs
static void
zfs_init(void)
{
	/*
	 * Initialize our context globals
	 */
	zfs_context_init();

	/*
	 * Initialize slab allocator and taskq layers
	 */
	kmem_init();

	/*
	 * Initialize .zfs directory structures
	 */
#if 0
	zfsctl_init();
#endif
	/*
	 * Initialize znode cache, vnode ops, etc...
	 */
	zfs_znode_init();

	/*
	 * Initialize /dev/zfs
	 */
	zfs_ioctl_init();
}
コード例 #2
0
ファイル: util.c プロジェクト: ElCoyote27/zfs-fuse
int do_init()
{
	libsolkerncompat_init();

	zfs_vfsinit(zfstype, NULL);

	init_lzo();

	VERIFY(zfs_ioctl_init() == 0);

    VERIFY(ioctl_fd != -1); // initialization moved to do_init_fusesocket

    VERIFY(cmd_listener_init() == 0);

	pthread_attr_t attr;
	VERIFY(0 == pthread_attr_init(&attr));
	if (stack_size)
	    pthread_attr_setstacksize(&attr,stack_size);
	if(pthread_create(&listener_thread, &attr, listener_loop, (void *) &ioctl_fd) != 0) {
		VERIFY(0 == pthread_attr_destroy(&attr));
		cmn_err(CE_WARN, "Error creating listener thread.");
		return -1;
	}
	VERIFY(0 == pthread_attr_destroy(&attr));

	listener_thread_started = B_TRUE;

	return zfsfuse_listener_init();
}