Skip to content
  • Markus Armbruster's avatar
    blockdev: Clean up automatic drive deletion · 14bafc54
    Markus Armbruster authored
    
    
    We automatically delete blockdev host parts on unplug of the guest
    device.  Too much magic, but we can't change that now.
    
    The delete happens early in the guest device teardown, before the
    connection to the host part is severed.  Thus, the guest part's
    pointer to the host part dangles for a brief time.  No actual harm
    comes from this, but we'll catch such dangling pointers a few commits
    down the road.  Clean up the dangling pointers by delaying the
    automatic deletion until the guest part's pointer is gone.
    
    Device usb-storage deliberately makes two qdev properties refer to the
    same drive, because it automatically creates a second device.  Again,
    too much magic we can't change now.  Multiple references worked okay
    before, but now free_drive() dies for the second one.  Zap the extra
    reference.
    
    Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    14bafc54