diff --git a/src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp b/src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp index 25271d9ec9..1dd0a1a89b 100644 --- a/src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp @@ -105,6 +105,7 @@ ramfs_mount(fs_volume* _volume, const char* /*device*/, uint32 flags, *_rootID = volume->GetRootDirectory()->GetID(); _volume->private_volume = volume; + _volume->ops = &gRamFSVolumeOps; RETURN_ERROR(B_OK); } @@ -186,7 +187,7 @@ ramfs_lookup(fs_volume* _volume, fs_vnode* _dir, const char* entryName, { // FUNCTION_START(); Volume* volume = (Volume*)_volume->private_volume; - Directory* dir = dynamic_cast((Node*)_dir); + Directory* dir = dynamic_cast((Node*)_dir->private_node); FUNCTION(("dir: (%llu), entry: `%s'\n", (dir ? dir->GetID() : -1), entryName)); diff --git a/src/add-ons/kernel/file_systems/ramfs/ramfs.h b/src/add-ons/kernel/file_systems/ramfs/ramfs.h index 50037cfaa3..0d2c35788f 100644 --- a/src/add-ons/kernel/file_systems/ramfs/ramfs.h +++ b/src/add-ons/kernel/file_systems/ramfs/ramfs.h @@ -9,6 +9,7 @@ #include extern struct fs_vnode_ops gRamFSVnodeOps; +extern struct fs_volume_ops gRamFSVolumeOps; const size_t kMaxIndexKeyLength = 256; #endif // RAM_FS_H