On 18/11/2014 10:26, Max Reitz wrote: > However, when you consider (as far as I looked into it) that a BDS is > only closed when there are either no references to it (which will not > happen as long as it has a BB) or when it is ejected, it suddenly does > make sense: "Ejecting" really is something for the BB, so it makes sense > to wait for that event (even though the name "close notifier" doesn't > sound much like it...).
I agree, and indeed the notifier was added to deal with ejection. Thanks for clarifying. I guess if QEMU were written in C++ we would have a hierarchy like this: BlockDevice (abstract) BlockBackend BlockDriverState and there would be no duplication of function names; the BlockBackend implementation would still have to forward to the top BlockDriverState. Paolo