On 24/11/2014 09:35, Max Reitz wrote:
>>>
>>> But what if the dirty bitmap was enabled before so that this enabling
>>> transaction was supposed to be a no-op?
>>
>> Maybe it's not a problem: The only case in which the enable/disable
>> operation will fail is if it cannot find the device or bitmap -- in
>> which case, the abort operation isn't going to be able to affect
>> anything either.
> 
> Well, it's part of a transaction. As far as I understand it, one groups
> several operations in one transaction and if any fails, all are aborted.
> Therefore, the "enable the dirty bitmap" operation can trivially succeed
> (because it was enabled before), but some different operation may fail,
> which then results in invocation of this abort function.

Would it work to do the actual enabling/disabling in the commit
function, since it cannot fail?

Paolo

Reply via email to