diff options
| author | Mike Buland <eichlan@xagasoft.com> | 2011-04-05 00:44:48 +0000 |
|---|---|---|
| committer | Mike Buland <eichlan@xagasoft.com> | 2011-04-05 00:44:48 +0000 |
| commit | 5fdf49f609a658161f482b406590531d4941ac46 (patch) | |
| tree | b4f0fb11174e3a34afbdb55f6c63927107331118 | |
| parent | f837e7ef09bab37d2f896f381f5f956c824633c5 (diff) | |
| download | libbu++-5fdf49f609a658161f482b406590531d4941ac46.tar.gz libbu++-5fdf49f609a658161f482b406590531d4941ac46.tar.bz2 libbu++-5fdf49f609a658161f482b406590531d4941ac46.tar.xz libbu++-5fdf49f609a658161f482b406590531d4941ac46.zip | |
Fixed the cache system missing a sync on header data for inserts and deletes.
Diffstat (limited to '')
| -rw-r--r-- | src/cache.h | 6 | ||||
| -rw-r--r-- | src/cachestoremyriad.h | 1 | ||||
| -rw-r--r-- | src/myriad.cpp | 5 | ||||
| -rw-r--r-- | src/myriad.h | 2 |
4 files changed, 11 insertions, 3 deletions
diff --git a/src/cache.h b/src/cache.h index a2774ce..455cf1b 100644 --- a/src/cache.h +++ b/src/cache.h | |||
| @@ -16,8 +16,6 @@ | |||
| 16 | 16 | ||
| 17 | #include "bu/trace.h" | 17 | #include "bu/trace.h" |
| 18 | 18 | ||
| 19 | #include "bu/sio.h" | ||
| 20 | |||
| 21 | namespace Bu | 19 | namespace Bu |
| 22 | { | 20 | { |
| 23 | // template<class keytype, class obtype> | 21 | // template<class keytype, class obtype> |
| @@ -242,6 +240,8 @@ namespace Bu | |||
| 242 | 240 | ||
| 243 | pCalc->onLoad( pData, k ); | 241 | pCalc->onLoad( pData, k ); |
| 244 | 242 | ||
| 243 | pStore->sync(); | ||
| 244 | |||
| 245 | return Ptr( this, pData, k ); | 245 | return Ptr( this, pData, k ); |
| 246 | } | 246 | } |
| 247 | 247 | ||
| @@ -331,6 +331,7 @@ namespace Bu | |||
| 331 | hEnt.erase( cId ); | 331 | hEnt.erase( cId ); |
| 332 | 332 | ||
| 333 | pStore->destroy( pObj, cId ); | 333 | pStore->destroy( pObj, cId ); |
| 334 | pStore->sync(); | ||
| 334 | } | 335 | } |
| 335 | catch( Bu::HashException &e ) { | 336 | catch( Bu::HashException &e ) { |
| 336 | pCalc->onDestroy( cId ); | 337 | pCalc->onDestroy( cId ); |
| @@ -343,6 +344,7 @@ namespace Bu | |||
| 343 | else | 344 | else |
| 344 | { | 345 | { |
| 345 | pStore->destroy( cId ); | 346 | pStore->destroy( cId ); |
| 347 | pStore->sync(); | ||
| 346 | } | 348 | } |
| 347 | } | 349 | } |
| 348 | } | 350 | } |
diff --git a/src/cachestoremyriad.h b/src/cachestoremyriad.h index e36506e..e632a82 100644 --- a/src/cachestoremyriad.h +++ b/src/cachestoremyriad.h | |||
| @@ -98,7 +98,6 @@ namespace Bu | |||
| 98 | MyriadStream ns = mStore.openStream( iStream ); | 98 | MyriadStream ns = mStore.openStream( iStream ); |
| 99 | __cacheStoreMyriadStore<keytype, obtype>( ns, *pSrc, key ); | 99 | __cacheStoreMyriadStore<keytype, obtype>( ns, *pSrc, key ); |
| 100 | ns.setSize( ns.tell() ); | 100 | ns.setSize( ns.tell() ); |
| 101 | sync(); | ||
| 102 | return key; | 101 | return key; |
| 103 | } | 102 | } |
| 104 | 103 | ||
diff --git a/src/myriad.cpp b/src/myriad.cpp index 0e8dc80..b582df3 100644 --- a/src/myriad.cpp +++ b/src/myriad.cpp | |||
| @@ -656,3 +656,8 @@ bool Bu::Myriad::isMyriad( Bu::Stream &sStore ) | |||
| 656 | return true; | 656 | return true; |
| 657 | } | 657 | } |
| 658 | 658 | ||
| 659 | const Bu::BitString &Bu::Myriad::getBlocksUsed() const | ||
| 660 | { | ||
| 661 | return bsBlockUsed; | ||
| 662 | } | ||
| 663 | |||
diff --git a/src/myriad.h b/src/myriad.h index 86c7aa1..3382ab5 100644 --- a/src/myriad.h +++ b/src/myriad.h | |||
| @@ -155,6 +155,8 @@ namespace Bu | |||
| 155 | */ | 155 | */ |
| 156 | static bool isMyriad( Bu::Stream &sStore ); | 156 | static bool isMyriad( Bu::Stream &sStore ); |
| 157 | 157 | ||
| 158 | const Bu::BitString &getBlocksUsed() const; | ||
| 159 | |||
| 158 | private: | 160 | private: |
| 159 | /** | 161 | /** |
| 160 | * Initialize this object based on the data already in the assosiated | 162 | * Initialize this object based on the data already in the assosiated |
