Blue Swirl <blauwir...@gmail.com> writes: > On Mon, Jun 18, 2012 at 9:10 AM, Markus Armbruster <arm...@redhat.com> wrote: >> Commit 5bbdbb46 moved it to block.c because "other geometry guessing >> functions already reside in block.c". Device-specific functionality >> should be kept in device code, not the block layer. Move it back. > > As discussed earlier, this is media specific, not device specific > (except FDriveType). How about media.c?
It's floppy-(media-)specific, isn't it? We discussed separating floppy drive emulation (fdd) from floppy controller emulation. Right now, they're mixed up in qdevs isa-fdc, sysbus-fdc and SUNW,fdtwo. Separating fdd involves splitting up those qdevs. I tried, but ran into QOM infrastructure difficulties. Since that part of QOM is being improved, I decided to postpone the splitting work for a bit. I don't remember discussing a separation of floppy drive and floppy media emulation. Related project: moving hard disk geometry out of the block layer. Can't move into a device model, because we have three of them sporting geometry: IDE, SCSI and virtio disks. I guess I'll move them into a new file in hw/. media.c doesn't sound right for hard disks. disk-geo.c? I could move floppy geometry to the same file. But there's zero overlap between hard disk and floppy disk geometry, and the only consumer of floppy geometry is the floppy disk device. I don't expect that to change, and that's why I'd prefer to make floppy geometry an implementation detail of the floppy disk device, and hide it in fdc.c now, fdd.c after the split. But if you insist, I can unhide it. Comments?