Attendees: Kevin Wolf <kw...@redhat.com> Stefan Hajnoczi <stefa...@redhat.com> Jeff Cody <jc...@redhat.com> Markus Armbruster <arm...@redhat.com>
and a few people dropping in and out. Minutes are basically a TODO list. Could be a bit terse in places; if anything's unclear, please ask. Block layer data structure cleanup: - Split block backend off BlockDriverState - Turn block backend into a proper ADT (besides other good things, this makes it possible to replace its implementation by a test harness for unit testing of its customers) - Get rid of BlockDriverState opaque (driver private state), inherit the common part into driver state Convert open to QemuOpts (or perhaps QDict?) Avoid double open for probing (update: patches posted) Block jobs: - Rate limiting is broken in general (it works for the single BlockDriverState case) - Block jobs should be jobs: generally available instead of tied to a (single) BlockDriverState; get rid of the block job pointer in BlockDriverState - Migration should probably be a job Block migration needs to die after its replacement is ready BlockDriverState member in_use and DriveInfo member refcount are a mess: - in_use is used to avoid running certain things concurrently, but the rules are unclear, except they're clearly incomplete; possible rules could be about need for consistent views of image contents - refcount is only used together with in_use, and appears to be for avoiding premature deletion AHCI: - Same IDE device models connect to different kinds of controllers just fine - Use links to connect controller device model and drive device models; the link serves as generic address replacing bus, unit, index - Make -drive if!=none true sugar for suitable -device (details depend on machine) - Checking legacy bus, unit, index needs to be delayed until machine's limits are known - Add "enough" -hdX to cover common usage (got 4 now, want 6 for q35) - Some AHCI controllers can optionally mimick a legacy IDE controller, and expose some of their ports there (controlled by BIOS for real hardware, by controller qdev property for us) - Convenience machine option to control that qdev property of an onboard controller would be nice (should not apply to additional controllers plugged in with -device) - if=ahci is not necessary