-
Nils Goroll authored
This, hopefully, is part of a possible solution to the nasty issue #28: When we do not have a sufficiently large pre-allocated log (log region) as determined by objsize_hint in relation to the storage size, we need to dynamically allocate disk blocks while we flush the log. When the log flush includes object deletions (in particular when triggered from the disk LRU), we run into a typical deadlock: To complete the transaction to free space, we need the space... This commit is part of an attempt to make this work by allocating space early on: When we only have 20% of the log region left, we start to reserve more blocks for the log. The problem can, for example, be reproduced with an objsize_hint of 1MB and an actual object size in the oder of 32KB. Ref #28