diff --git a/src/add-ons/kernel/file_systems/bfs/Inode.h b/src/add-ons/kernel/file_systems/bfs/Inode.h index b7034a1e82..6ef5ef3159 100644 --- a/src/add-ons/kernel/file_systems/bfs/Inode.h +++ b/src/add-ons/kernel/file_systems/bfs/Inode.h @@ -180,10 +180,17 @@ public: { ASSERT_WRITE_LOCKED_RW_LOCK(&fLock); } #endif +#ifdef B_HAIKU_64_BIT + Link* GetDoublyLinkedListLink() + { return &fListLink; } + const Link* GetDoublyLinkedListLink() const + { return &fListLink; } +#else Link* GetDoublyLinkedListLink() { return (Link*)&fNode.pad[0]; } const Link* GetDoublyLinkedListLink() const { return (Link*)&fNode.pad[0]; } +#endif private: Inode(const Inode& other); @@ -241,6 +248,10 @@ private: // we need those values to ensure we will remove // the correct keys from the indices +#ifdef B_HAIKU_64_BIT + Link fListLink; +#endif + mutable recursive_lock fSmallDataLock; SinglyLinkedList fIterators; }; diff --git a/src/add-ons/kernel/file_systems/bfs/bfs.h b/src/add-ons/kernel/file_systems/bfs/bfs.h index 936ce6f3a2..8fbf4781bc 100644 --- a/src/add-ons/kernel/file_systems/bfs/bfs.h +++ b/src/add-ons/kernel/file_systems/bfs/bfs.h @@ -202,7 +202,8 @@ struct bfs_inode { }; bigtime_t status_change_time; int32 pad[2]; - // we use this member as a doubly linked list link + // on 32 bit architectures we use this member as a doubly linked list + // link small_data small_data_start[0];