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. 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. Paolo