Hi,
} else if (!strcmp(buf, "scsi")) { type = IF_SCSI; - max_devs = MAX_SCSI_DEVS; + max_devs = 7;
That's very obviously not much more than a hack, but I don't think blockdev.c can get the real number easily (please prove me wrong). With this hack, we would get the old behaviour for -drive (which doesn't use any other controller anyway) and you can still use -device to attach more devices to a non-lsi bus.
Looks sensible to me. scsi controllers with more than 7 devs (megasas and whatever else might be coming, virtio?) can't be added via if=scsi legacy syntax and must use -blockdev and -device anyway.
We probably want add a comment explaining this though. cheers, Gerd