On 09/13/2017 12:03 PM, Eric Blake wrote: > We are gradually converting to byte-based interfaces, as they are > easier to reason about than sector-based. Convert another internal > function (no semantic change); and as with its public counterpart, > rename to bdrv_co_block_status() to make the compiler enforce that > we catch all uses. For now, we assert that callers still pass > aligned data, but ultimately, this will be the function where we > hand off to a byte-based driver callback, and will eventually need > to add logic to ensure we round calls according to the driver's > request_alignment then touch up the result handed back to the > caller, to start permitting a caller to pass unaligned offsets. > > Note that we are now prepared to accepts 'bytes' larger than INT_MAX; > this is okay as long as we clamp things internally before violating > any 32-bit limits, and makes no difference to how a client will > use the information (clients looping over the entire file must > already be prepared for consecutive calls to return the same status, > as drivers are already free to return shorter-than-maximal status > due to any other convenient split points, such as when the L2 table > crosses cluster boundaries in qcow2). > > Signed-off-by: Eric Blake <ebl...@redhat.com>
Reviewed-by: John Snow <js...@redhat.com>