diff --git a/src/add-ons/kernel/file_systems/nfs4/Inode.h b/src/add-ons/kernel/file_systems/nfs4/Inode.h index b21f790f9f..4d85cf9938 100644 --- a/src/add-ons/kernel/file_systems/nfs4/Inode.h +++ b/src/add-ons/kernel/file_systems/nfs4/Inode.h @@ -25,6 +25,7 @@ public: inline ino_t ID() const; inline mode_t Type() const; + inline const char* Name() const; status_t LookUp(const char* name, ino_t* id); status_t Stat(struct stat* st); @@ -79,5 +80,12 @@ Inode::Type() const } +inline const char* +Inode::Name() const +{ + return fName; +} + + #endif // INODE_H diff --git a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp index 085b0b4a1e..2872647b9d 100644 --- a/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/nfs4/kernel_interface.cpp @@ -111,6 +111,16 @@ nfs4_lookup(fs_volume* volume, fs_vnode* dir, const char* name, ino_t* _id) } +static status_t +nfs4_get_vnode_name(fs_volume* volume, fs_vnode* vnode, char* buffer, + size_t bufferSize) +{ + Inode* inode = reinterpret_cast(vnode->private_node); + strncpy(buffer, inode->Name(), bufferSize); + return B_OK; +} + + static status_t nfs4_put_vnode(fs_volume* volume, fs_vnode* vnode, bool reenter) { @@ -242,7 +252,7 @@ fs_volume_ops gNFSv4VolumeOps = { fs_vnode_ops gNFSv4VnodeOps = { nfs4_lookup, - NULL, // get_vnode_name() + nfs4_get_vnode_name, nfs4_put_vnode, NULL, // remove_vnode()