From f6e59c500a1f5d94214bafd23df8521f97ffdc16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Sun, 9 Oct 2011 18:35:39 +0000 Subject: [PATCH] * Minor work in progress of getting the test to run again. Never found the time to complete it, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42813 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../kernel/file_systems/bfs/btree/Inode.h | 7 +++---- .../kernel/file_systems/bfs/btree/Jamfile | 11 ++++++----- .../kernel/file_systems/bfs/btree/Journal.h | 16 ++++++++++++++++ .../kernel/file_systems/bfs/btree/Volume.h | 3 +-- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/src/tests/add-ons/kernel/file_systems/bfs/btree/Inode.h b/src/tests/add-ons/kernel/file_systems/bfs/btree/Inode.h index e8f39d2165..4b1f5b7f86 100644 --- a/src/tests/add-ons/kernel/file_systems/bfs/btree/Inode.h +++ b/src/tests/add-ons/kernel/file_systems/bfs/btree/Inode.h @@ -10,7 +10,6 @@ #include #include -#include "Lock.h" #include "bfs.h" @@ -23,7 +22,7 @@ class Inode { Inode(const char *name,int32 mode = S_STR_INDEX | S_ALLOW_DUPS); ~Inode(); - ReadWriteLock &Lock() { return fLock; } + rw_lock &Lock() { return fLock; } status_t FindBlockRun(off_t pos,block_run &run,off_t &offset); status_t Append(Transaction *,off_t bytes); @@ -48,9 +47,9 @@ class Inode { Volume *fVolume; BFile fFile; off_t fSize; - ReadWriteLock fLock; + rw_lock fLock; int32 fMode; - + // for dump_inode() only: off_t fOldSize; off_t fOldLastModified; diff --git a/src/tests/add-ons/kernel/file_systems/bfs/btree/Jamfile b/src/tests/add-ons/kernel/file_systems/bfs/btree/Jamfile index e3115f84b6..5f389f9bff 100644 --- a/src/tests/add-ons/kernel/file_systems/bfs/btree/Jamfile +++ b/src/tests/add-ons/kernel/file_systems/bfs/btree/Jamfile @@ -1,19 +1,20 @@ SubDir HAIKU_TOP src tests add-ons kernel file_systems bfs btree ; -SubDirHdrs $(HAIKU_TOP) src tests add-ons kernel file_systems bfs r5 ; +SubDirHdrs $(HAIKU_TOP) src add-ons kernel file_systems bfs ; -UsePrivateHeaders [ FDirName kernel ] ; # For kernel_cpp.cpp +UsePrivateKernelHeaders ; +UsePrivateHeaders shared ; rule FPreIncludes { return -include\ $(1:D=$(SUBDIR)) ; } { local defines = [ FDefines USER DEBUG ] ; # _NO_INLINE_ASM local preIncludes = [ FPreIncludes Journal.h Inode.h ] ; - SubDirC++Flags $(defines) $(preIncludes) -fno-exceptions -fno-rtti ; #-fcheck-memory-usage + SubDirC++Flags $(defines) $(preIncludes) -fno-exceptions ; #-fcheck-memory-usage } SimpleTest btreeTest - : test.cpp + : #test.cpp Volume.cpp Inode.cpp cache.cpp @@ -24,4 +25,4 @@ SimpleTest btreeTest # Tell Jam where to find these sources SEARCH on [ FGristFiles BPlusTree.cpp Utility.cpp Debug.cpp ] - = [ FDirName $(HAIKU_TOP) src tests add-ons kernel file_systems bfs r5 ] ; + = [ FDirName $(HAIKU_TOP) src add-ons kernel file_systems bfs ] ; diff --git a/src/tests/add-ons/kernel/file_systems/bfs/btree/Journal.h b/src/tests/add-ons/kernel/file_systems/bfs/btree/Journal.h index db19c82ec1..375373e142 100644 --- a/src/tests/add-ons/kernel/file_systems/bfs/btree/Journal.h +++ b/src/tests/add-ons/kernel/file_systems/bfs/btree/Journal.h @@ -11,9 +11,24 @@ #include "Volume.h" #include "Debug.h" +#include "Utility.h" + #include "cache.h" +class TransactionListener + : public DoublyLinkedListLinkImpl { +public: + TransactionListener(); + virtual ~TransactionListener(); + + virtual void TransactionDone(bool success) = 0; + virtual void RemovedFromTransaction() = 0; +}; + +typedef DoublyLinkedList TransactionListeners; + + class Transaction { public: Transaction(Volume *volume,off_t refBlock) @@ -39,4 +54,5 @@ class Transaction { Volume *fVolume; }; + #endif /* JOURNAL_H */ diff --git a/src/tests/add-ons/kernel/file_systems/bfs/btree/Volume.h b/src/tests/add-ons/kernel/file_systems/bfs/btree/Volume.h index 74aa5f32e5..82afc0bad7 100644 --- a/src/tests/add-ons/kernel/file_systems/bfs/btree/Volume.h +++ b/src/tests/add-ons/kernel/file_systems/bfs/btree/Volume.h @@ -9,7 +9,6 @@ #include -#include "Lock.h" #include "bfs.h" @@ -27,7 +26,7 @@ class Volume { block_run ToBlockRun(off_t block) const { return block_run::Run(0,0,block); } static void Panic(); - + private: BFile *fFile; };