rem: if (FS_CALL(vnode, fs_link) != NULL) status = FS_CALL(vnode,fs_link)(directory->mount->cookie, directory->private_node, name, vnode->private_node);
add: if (FS_CALL(vnode, link) != NULL) status = FS_CALL(vnode, link)(directory->mount->cookie, directory->private_node, name, vnode->private_node);
context: common_create_link(char *path, char *toPath, bool kernel){	// path validity checks have to be in the calling function!	char name[B_FILE_NAME_LENGTH];	struct vnode *directory, *vnode;	int status;	FUNCTION(("common_create_link(path = %s, toPath = %s, kernel = %d)\n", path, toPath, kernel));	status = path_to_dir_vnode(path, &directory, name, kernel);	if (status < B_OK)		return status;	status = path_to_vnode(toPath, true, &vnode, kernel);	if (status < B_OK)		goto err;	if (directory->mount != vnode->mount) {		status = B_CROSS_DEVICE_LINK;		goto err1;	}	if (FS_CALL(vnode, fs_link) != NULL)		status = FS_CALL(vnode,fs_link)(directory->mount->cookie, directory->private_node, name, vnode->private_node);	else		status = EROFS;err1:	put_vnode(vnode);err:	put_vnode(directory);	return status;}