rem: mount->fs->calls->fs_unmount(mount->cookie);
add: mount->fs->calls->unmount(mount->cookie);
context: fs_unmount(char *path, bool kernel){	struct fs_mount *mount;	struct vnode *vnode;	int err;	FUNCTION(("vfs_unmount: entry. path = '%s', kernel %d\n", path, kernel));	err = path_to_vnode(path, true, &vnode, kernel);	if (err < 0)		return ERR_VFS_PATH_NOT_FOUND;	mutex_lock(&gMountOpMutex);	mount = find_mount(vnode->fs_id);	if (!mount)		panic("vfs_unmount: fsid_to_mount failed on root vnode @%p of mount\n", vnode);	if (mount->root_vnode != vnode) {		// not mountpoint		dec_vnode_ref_count(vnode, false);		err = ERR_VFS_NOT_MOUNTPOINT;		goto err;	}	/* grab the vnode master mutex to keep someone from creating a vnode	while we're figuring out if we can continue */	mutex_lock(&gVnodeMutex);	/* simulate the root vnode having it's refcount decremented */	mount->root_vnode->ref_count -= 2;	// cycle through the list of vnodes associated with this mount and	// make sure all of them are not busy or have refs on them	for (vnode = mount->vnodes_head; vnode != NULL; vnode = vnode->mount_next) {		if (vnode->busy || vnode->ref_count != 0) {			mount->root_vnode->ref_count += 2;			mutex_unlock(&gVnodeMutex);			dec_vnode_ref_count(mount->root_vnode, false);			err = EBUSY;			goto err;		}	}	/* we can safely continue, mark all of the vnodes busy and this mount	structure in unmounting state */	for (vnode = mount->vnodes_head; vnode; vnode = vnode->mount_next)		if (vnode != mount->root_vnode)			vnode->busy = true;	mount->unmounting = true;	mutex_unlock(&gVnodeMutex);	mount->covers_vnode->covered_by = NULL;	dec_vnode_ref_count(mount->covers_vnode, false);	/* release the ref on the root vnode twice */	dec_vnode_ref_count(mount->root_vnode, false);	dec_vnode_ref_count(mount->root_vnode, false);	// ToDo: when full vnode cache in place, will need to force	// a putvnode/removevnode here	/* remove the mount structure from the hash table */	mutex_lock(&gMountMutex);	hash_remove(mounts_table, mount);	mutex_unlock(&gMountMutex);	mutex_unlock(&gMountOpMutex);	mount->fs->calls->fs_unmount(mount->cookie);	kfree(mount->mount_point);	kfree(mount);	return 0;err:	mutex_unlock(&gMountOpMutex);	return err;}