On 09/13/2017 11:03 AM, Eric Blake wrote: > Any device that has request_alignment greater than 512 should be > unable to report status at a finer granularity; it may also be > simpler for such devices to be guaranteed that the block layer > has rounded things out to the granularity boundary (the way the > block layer already rounds all other I/O out). Besides, getting > the code correct for super-sector alignment also benefits us > for the fact that our public interface now has byte granularity, > even though none of our drivers have byte-level callbacks. > > Add an assertion in blkdebug that proves that the block layer > never requests status of unaligned sections, similar to what it > does on other requests (while still keeping the generic helper > in place for when future patches add a throttle driver). Note > that iotest 177 already covers this (it would fail if you use > just the blkdebug.c hunk without the io.c changes). Meanwhile, > we can drop assertions in callers that no longer have to pass > in sector-aligned addresses. Bummer - 'git bisect' says this patch causes iotests 190 to hang. I'm investigating root cause, but I'll have to post a fixup once I figure it out. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org