From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:47739) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TYzY1-000425-DE for qemu-devel@nongnu.org; Thu, 15 Nov 2012 08:32:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TYzXy-0000UE-9I for qemu-devel@nongnu.org; Thu, 15 Nov 2012 08:32:01 -0500 Received: from mx1.redhat.com ([209.132.183.28]:10389) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TYzXy-0000U2-1W for qemu-devel@nongnu.org; Thu, 15 Nov 2012 08:31:58 -0500 From: Markus Armbruster Date: Thu, 15 Nov 2012 14:31:53 +0100 Message-ID: <87pq3fat6e.fsf@blackfin.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] KVM Forum 2012 Block BoF minutes List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Stefan Hajnoczi , Jeff Cody , Alexander Graf , Anthony Liguori , Paolo Bonzini , Jason Baron Attendees: Kevin Wolf Stefan Hajnoczi Jeff Cody Markus Armbruster 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