Currently the st driver does not to break up write requests into smaller
chunks to satisfy the ->max_hw_sectors limit of the underlying host driver.

 # modprobe -v scsi_debug ptype=1 opts=1 dev_size_mb=123
 # dd if=/dev/zero of=/dev/st0 bs=$((1024*54321))

This leads to -EBUSY from this call chain:
st_write -> st_do_scsi -> st_scsi_execute -> blk_rq_map_user

What is the reason for this behaviour?
Should st_write write in smaller chunks, or would that break real
hardware because they expect certain block sizes?

The specific issue at hand I have is that the (out-of-tree) Xen pvscsi
has a ->max_hw_sectors limit of 200, which limits the block size in a
guest to 100K.


Olaf
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to