Am 16.09.2014 um 20:12 hat Markus Armbruster geschrieben: > blockdev_init() always creates a DriveInfo, but only drive_new() fills > it in. qmp_blockdev_add() leaves it blank. This results in a drive > with type = IF_IDE, bus = 0, unit = 0. Screwed up in commit ee13ed1c. > > Board initialization code looking for IDE drive (0,0) can pick up one > of these bogus drives. Not sure whether getting the QMP command > executed early enough is likely in practice, though. > > Fix by creating DriveInfo in drive_new(). Block backends created by > blockdev-add don't get one. > > A few places assume a block backend always has a DriveInfo. Fix them > up. > > Signed-off-by: Markus Armbruster <arm...@redhat.com>
I think I would change the subject line to describe that blockdev-add devices don't get a DriveInfo any more. The IF_IDE = 0 bug is real, but probably not the most important part of this patch. As you already mentioned, you need to squash in some parts of patch 19 for this to be correct (the changed if conditions in do_drive_del and blockdev_mark_auto_del). You may still leave patch 19 for the removal of enable_auto_del if you like, or squash in the whole patch. Kevin