On Mon, Aug 20, Kai Makisara wrote:

> On Mon, 20 Aug 2012, Olaf Hering wrote:
> 
> > 
> > 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?
> > 
> In variable block mode the write() byte count determines the size of the 
> tape block. Exactly one SCSI command is used to write one block. This is 
> why the writes can't be split in variable block mode. In fixed block mode 
> the writes are split but this results in several tape blocks for each 
> write().

Thats very unfortunate.
Would it be possible in theory to split and reassemble the SCSI commands
in backend/frontend to overcome this protocol limit in pvscsi?

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