* Inode::_GrowStream() did not make the double indirect block writable before

adding a block to its array. This could cause all kinds of trouble, and
  fixes at least a part of #2148.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25125 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2008-04-24 11:28:41 +00:00
parent 89eb861a3e
commit 701d196668

View File

@ -1754,6 +1754,8 @@ Inode::_GrowStream(Transaction &transaction, off_t size)
do {
// do we need a new array block?
if (array[indirectIndex % runsPerBlock].IsZero()) {
cached.MakeWritable(transaction);
status = _AllocateBlockArray(transaction,
array[indirectIndex % runsPerBlock]);
if (status < B_OK)