rem: set_cwd(char *path, bool kernel)
add: set_cwd(int fd, char *path, bool kernel)
context: set_cwd(char *path, bool kernel){	struct io_context *context;	struct vnode *vnode = NULL;	struct vnode *oldDirectory;	struct stat stat;	int rc;	FUNCTION(("set_cwd: path = \'%s\'\n", path));	// Get vnode for passed path, and bail if it failed	rc = path_to_vnode(path, true, &vnode, kernel);	if (rc < 0)		return rc;	rc = FS_CALL(vnode,fs_read_stat)(vnode->mount->cookie, vnode->private_node, &stat);	if (rc < 0)		goto err;	if (!S_ISDIR(stat.st_mode)) {		// nope, can't cwd to here		rc = ERR_VFS_WRONG_STREAM_TYPE;		goto err;	}	// Get current io context and lock	context = get_current_io_context(kernel);	mutex_lock(&context->io_mutex);	// save the old current working directory first	oldDirectory = context->cwd;	context->cwd = vnode;	mutex_unlock(&context->io_mutex);	if (oldDirectory)		put_vnode(oldDirectory);	return B_NO_ERROR;err:	put_vnode(vnode);	return rc;}