Am 21.01.2012 20:02, schrieb Blue Swirl: > On Mon, Jan 16, 2012 at 10:18, Kevin Wolf <kw...@redhat.com> wrote: >> Am 15.01.2012 08:51, schrieb Hervé Poussineau: >>> Floppies must be read at a specific transfer rate, depending of its own >>> format. >>> Update floppy description table to include required transfer rate. >>> >>> Signed-off-by: Hervé Poussineau <hpous...@reactos.org> >>> --- >>> block.c | 74 >>> ++++++++++++++++++++++++++++++++----------------------------- >>> block.h | 10 +++++++- >>> hw/fdc.c | 3 +- >>> hw/pc.c | 3 +- >> >> Meh. Having any floppy-specific logic in the block layer is wrong. We >> need to finally get this moved into fdc.c. > > Well, actually this code was moved recently from fdc.c to block.c > (5bbdbb4676d17e782ae83055bac58e0751b25e4b). The other geometry > guessing functions (ATA CHS) are also there. If we supported native > floppy (or ATA) pass trough, the geometry would have to be read from > the host device, so I think it's logical to keep that in block level > instead of all devices. Maybe we could also split block.c into > block-fdc.c, block-ata.c etc.
The geometry is guest state, so it shouldn't be in the block layer, which deals with host state. Maybe we could need some hw/block.c that deals with guest state concepts that are shared between multiple device. Images or passthrough backends could provide defaults. I'll admit that not having an obvious place for media (we only have it for images and guest devices) doesn't make the design decisions easier. Kevin