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