add: add_debugger_command("iocontext", &dump_iocontext, "info about the I/O context");
context: vfs_init(kernel_args *args){	sVnodeTable = hash_init(VNODE_HASH_TABLE_SIZE, offsetof(struct vnode, next),		&vnode_compare, &vnode_hash);	if (sVnodeTable == NULL)		panic("vfs_init: error creating vnode hash table\n");	list_init_etc(&sUnusedVnodeList, offsetof(struct vnode, unused_link));	sMountsTable = hash_init(MOUNTS_HASH_TABLE_SIZE, offsetof(struct fs_mount, next),		&mount_compare, &mount_hash);	if (sMountsTable == NULL)		panic("vfs_init: error creating mounts hash table\n");	node_monitor_init();	sRoot = NULL;	if (mutex_init(&sFileSystemsMutex, "vfs_lock") < 0)		panic("vfs_init: error allocating file systems lock\n");	if (recursive_lock_init(&sMountOpLock, "vfs_mount_op_lock") < 0)		panic("vfs_init: error allocating mount op lock\n");	if (mutex_init(&sMountMutex, "vfs_mount_lock") < 0)		panic("vfs_init: error allocating mount lock\n");	if (mutex_init(&sVnodeMutex, "vfs_vnode_lock") < 0)		panic("vfs_init: error allocating vnode lock\n");	if (block_cache_init() != B_OK)		return B_ERROR;#ifdef ADD_DEBUGGER_COMMANDS	// add some debugger commands	add_debugger_command("vnode", &dump_vnode, "info about the specified vnode");	add_debugger_command("vnodes", &dump_vnodes, "list all vnodes (from the specified device)");	add_debugger_command("vnode_caches", &dump_vnode_caches, "list all vnode caches");	add_debugger_command("mount", &dump_mount, "info about the specified fs_mount");	add_debugger_command("mounts", &dump_mounts, "list all fs_mounts");#endif	return file_cache_init();}