From cf4ccd6575bb584d54921cf42a173ee9046696ef Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Mon, 5 Mar 2007 03:52:57 +0000 Subject: [PATCH] Renamed the FS interface hook read_link() to read_symlink(). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20330 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/os/drivers/fs_interface.h | 2 +- src/system/kernel/fs/vfs.cpp | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/headers/os/drivers/fs_interface.h b/headers/os/drivers/fs_interface.h index 9f754c6fd1..2f8837a470 100644 --- a/headers/os/drivers/fs_interface.h +++ b/headers/os/drivers/fs_interface.h @@ -113,7 +113,7 @@ typedef struct file_system_module_info { uint8 event, selectsync *sync); status_t (*fsync)(fs_volume fs, fs_vnode vnode); - status_t (*read_link)(fs_volume fs, fs_vnode link, char *buffer, + status_t (*read_symlink)(fs_volume fs, fs_vnode link, char *buffer, size_t *_bufferSize); status_t (*create_symlink)(fs_volume fs, fs_vnode dir, const char *name, const char *path, int mode); diff --git a/src/system/kernel/fs/vfs.cpp b/src/system/kernel/fs/vfs.cpp index 77307072f6..994d4ddd1a 100644 --- a/src/system/kernel/fs/vfs.cpp +++ b/src/system/kernel/fs/vfs.cpp @@ -1642,8 +1642,13 @@ vnode_path_to_vnode(struct vnode *vnode, char *path, bool traverseLeafLink, goto resolve_link_error; } - status = FS_CALL(nextVnode, read_link)(nextVnode->mount->cookie, - nextVnode->private_node, buffer, &bufferSize); + if (FS_CALL(nextVnode, read_symlink) != NULL) { + status = FS_CALL(nextVnode, read_symlink)( + nextVnode->mount->cookie, nextVnode->private_node, buffer, + &bufferSize); + } else + status = B_BAD_VALUE; + if (status < B_OK) { free(buffer); @@ -4344,8 +4349,8 @@ common_read_link(int fd, char *path, char *buffer, size_t *_bufferSize, if (status < B_OK) return status; - if (FS_CALL(vnode, read_link) != NULL) { - status = FS_CALL(vnode, read_link)(vnode->mount->cookie, + if (FS_CALL(vnode, read_symlink) != NULL) { + status = FS_CALL(vnode, read_symlink)(vnode->mount->cookie, vnode->private_node, buffer, _bufferSize); } else status = B_BAD_VALUE;