Am 06.12.2013 um 18:55 hat Paolo Bonzini geschrieben: > Il 06/12/2013 18:22, Kevin Wolf ha scritto: > > This patch series adds code to the block layer that allows performing > > I/O requests in smaller granularities than required by the host backend > > (most importantly, O_DIRECT restrictions). It achieves this for reads > > by rounding the request to host-side block boundary, and for writes by > > performing a read-modify-write cycle (and serialising requests > > touching the same block so that the RMW doesn't write back stale data). > > > > Originally I intended to reuse a lot of code from Paolo's previous > > patch series, however as I tried to integrate pread/pwrite, which > > already do a very similar thing (except for considering concurrency), > > and because I wanted to implement zero-copy, most of this series ended > > up being new code. > > Very nice! There's not much to comment on regarding the 512-on-4k part.
Thanks. Then I guess it makes sense to push it before attacking 4k-on-512. > Just one question. Do you think we could make our emulated disks > 512b-logical/4k-physical (512E) by default? In other words, I don't > remember the outcome of our discussion on whether the standard promises > a 4k write granularity for this configuration. It probably depends on our answer to the questions I raised for 4k-on-512. In generic, I think it's a good idea, but if we come to the conclusion that it isn't safe, we can't do it, obviously. As for the standard, which "the" standard? I guess virtio-blk doesn't say anything on the matter, leaves us with ATA and SBC. I haven't checked either yet, but I'll see if I can find something. Kevin