On 24.06.21 20:04, Paolo Bonzini wrote:
bs->sg is only true for character devices, but block devices can also
be used with scsi-block and scsi-generic.  Unfortunately BLKSECTGET
returns bytes in an int for /dev/sgN devices, and sectors in a short
for block devices, so account for that in the code.

The maximum transfer also need not be a power of 2 (for example I have
seen disks with 1280 KiB maximum transfer) so there's no need to pass
the result through pow2floor.

Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
---
  block/file-posix.c | 67 ++++++++++++++++++++++++++--------------------
  1 file changed, 38 insertions(+), 29 deletions(-)

Reviewed-by: Max Reitz <mre...@redhat.com>


Reply via email to