rem: bfs_walk(void *_ns, void *_directory, const char *file, char **_resolvedPath, vnode_id *vnid)
add: bfs_walk(void *_ns, void *_directory, const char *file, char **_resolvedPath, vnode_id *_vnodeID)
context: bfs_walk(void *_ns, void *_directory, const char *file, char **_resolvedPath, vnode_id *vnid){	//FUNCTION_START(("file = %s\n",file));	if (_ns == NULL || _directory == NULL || file == NULL)		return B_BAD_VALUE;	Volume *volume = (Volume *)_ns;	Inode *directory = (Inode *)_directory;	// check access permissions	status_t status = directory->CheckPermissions(R_OK);	if (status < B_OK)		RETURN_ERROR(status);	BPlusTree *tree;	if (directory->GetTree(&tree) != B_OK)		RETURN_ERROR(B_BAD_VALUE);	if ((status = tree->Find((uint8 *)file, (uint16)strlen(file), vnid)) < B_OK)		RETURN_ERROR(status);	Inode *inode;	if ((status = get_vnode(volume->ID(), *vnid, (void **)&inode)) != B_OK) {		REPORT_ERROR(status);		return B_ENTRY_NOT_FOUND;	}	// Is inode a symlink? Then resolve it, if we should	if (inode->IsSymLink() && _resolvedPath != NULL) {		status_t status = B_OK;		char *newPath = NULL;				// Symbolic links can store their target in the data stream (for links		// that take more than 144 bytes of storage [the size of the data_stream		// structure]), or directly instead of the data_stream class		// So we have to deal with both cases here.				// Note: we would naturally call bfs_read_link() here, but the API of the		// vnode layer would require us to always reserve a large chunk of memory		// for the path, so we're not going to do that		if (inode->Flags() & INODE_LONG_SYMLINK) {			size_t readBytes = inode->Node()->data.size;			char *data = (char *)malloc(readBytes);			if (data != NULL) {				status = inode->ReadAt(0, (uint8 *)data, &readBytes);				if (status == B_OK && readBytes == inode->Node()->data.size)					status = new_path(data, &newPath);				free(data);			} else				status = B_NO_MEMORY;		} else			status = new_path((char *)&inode->Node()->short_symlink, &newPath);		put_vnode(volume->ID(), inode->ID());		if (status == B_OK)			*_resolvedPath = newPath;		RETURN_ERROR(status);	}	return B_OK;}