On 03/03/2015 01:13 PM, Max Reitz wrote: > The only remaining user of the BDS close notifiers is NBD which uses > them to determine when a BDS tree is being ejected. This patch removes > the BDS-level close notifiers and adds a notifier list to the > BlockBackend structure that is invoked whenever a BDS is removed. > > Symmetrically to that, another notifier list is added that is invoked > whenever a BDS is inserted. The dataplane implementations for virtio-blk > and virtio-scsi use both notifier types for setting up and removing op > blockers. This is not only important for setting up the op blockers on > insertion, but also for removing them on ejection since bdrv_delete() > asserts that there are no op blockers set up. > > Signed-off-by: Max Reitz <mre...@redhat.com> > --- > block.c | 7 ---- > block/block-backend.c | 19 +++++++--- > blockdev-nbd.c | 36 +------------------ > hw/block/dataplane/virtio-blk.c | 77 > +++++++++++++++++++++++++++++++---------- > hw/scsi/virtio-scsi.c | 59 +++++++++++++++++++++++++++++++ > include/block/block.h | 1 - > include/block/block_int.h | 2 -- > include/hw/virtio/virtio-scsi.h | 10 ++++++ > include/sysemu/block-backend.h | 3 +- > nbd.c | 13 +++++++ > 10 files changed, 159 insertions(+), 68 deletions(-)
Reviewed-by: Eric Blake <ebl...@redhat.com> -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature