[Haiku-commits] r30960 - haiku/trunk/src/system/kernel/cache

Stephan Aßmus superstippi at gmx.de
Fri Jun 5 12:04:05 CEST 2009


Axel Dörfler schrieb:
> Rene Gollent <anevilyak at gmail.com> wrote:
>> On Thu, Jun 4, 2009 at 7:29 AM, axeld at BerliOS <
>> axeld at mail.berlios.de> wrote:
>>> Modified:
>>>   haiku/trunk/src/system/kernel/cache/file_map.cpp
>>> Log:
>>> * Fixed a bug that let _InvalidateAfter() access already freed 
>>> memory, and would
>>>  also mess up the file map, causing all sorts of file corruption.
>>> * This fixes bug #3991 (and eventually some others).
>> Nice catch! I'm assuming this one would only have corrupted the
>> contents of the files themselves, but not things like the BFS B+
>> trees?
> 
> It could overwrite all data, including B+trees and inodes - everything 
> that used to be part of the file.
> But only in the case that a file was truncated, and then reallocated at 
> a different position (ie. if the file had been moved, or something else 
> managed to claim the space that was freed on truncation).
> I don't think this will solve all symptoms, but at least it might fix 
> some of them -- the reported failures on SVN conflicts are a good 
> candidate for this, for example.

I don't understand if this means the bug could have caused problems on 
directories themselves, or only on file content. Can you clarify?

Thanks a lot for fixing it, anyway! Great work!

Best regards,
-Stephan




More information about the Haiku-commits mailing list