2020-08-31 11:08:29 |
Tom Yan |
description |
blk_get_max_transfer() is supposed to be able to get the max_sectors queue limit of the scsi device on the host side and is used in both scsi-generic.c (for scsi-generic and scsi-block) and scsi-disk.c (for scsi-hd) to set/change the max_xfer_len (and opt_xfer_len in the case of scsi-generic).
However, it only works with the sg driver in doing so. It cannot get the queue limit with the sd driver and simply returns MAX_INT.
qemu version 5.1.0
kernel version 5.8.5
Btw, is there a particular reason that it doesn't MIN_NON_ZERO against the original max_xfer_len: https://github.com/qemu/qemu/blob/v5.1.0/hw/scsi/scsi-generic.c#L172? |
blk_get_max_transfer() is supposed to be able to get the max_sectors queue limit of the scsi device on the host side and is used in both scsi-generic.c (for scsi-generic and scsi-block) and scsi-disk.c (for scsi-hd) to set/change the max_xfer_len (and opt_xfer_len in the case of scsi-generic.c).
However, it only works with the sg driver in doing so. It cannot get the queue limit with the sd driver and simply returns MAX_INT.
qemu version 5.1.0
kernel version 5.8.5
Btw, is there a particular reason that it doesn't MIN_NON_ZERO against the original max_xfer_len: https://github.com/qemu/qemu/blob/v5.1.0/hw/scsi/scsi-generic.c#L172? |
|