[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