Author: axeld Date: 2010-08-18 18:44:51 +0200 (Wed, 18 Aug 2010) New Revision: 38242 Changeset: http://dev.haiku-os.org/changeset/38242 Modified: haiku/trunk/src/system/kernel/cache/block_cache.cpp Log: * We need to reset the blockNumber, or else we'll discard the wrong blocks which has rather desastrous consequences - thanks to Stippi for the heads up :-) Modified: haiku/trunk/src/system/kernel/cache/block_cache.cpp =================================================================== --- haiku/trunk/src/system/kernel/cache/block_cache.cpp 2010-08-18 16:25:31 UTC (rev 38241) +++ haiku/trunk/src/system/kernel/cache/block_cache.cpp 2010-08-18 16:44:51 UTC (rev 38242) @@ -3406,6 +3406,9 @@ writer.Write(); // TODO: this can fail, too! + blockNumber -= numBlocks; + // reset blockNumber to its original value + for (size_t i = 0; i < numBlocks; i++, blockNumber++) { cached_block* block = (cached_block*)hash_lookup(cache->hash, &blockNumber);