On Tue, 20 Feb 2007, Mike Christie wrote: > Yeah you are right getting memory is not a problem I replied about that > in the other mail. You do not have to use it, but the min of the > reserved buffer and max_sectors or max_hw_sectors could still be off for > drivers that do not support clustering or if there is a weird arch > segment boundary or limit (maybe the arch segment limits and boundary is > not used much though). > > I am working on fix to both the hack and make sure the reserved buffer > is actually a size that the driver can handle. It is those patches that > converts sg to use the scatterlist and request helpers and modify the > sg.c code to allocate the reserved buffer within all the system, driver > and hw limits. > > If you are pushing your fixes for the current release, I would say do > not wait for me, but I am also saying max_sectors and the reserved > buffer size is not always a correct estimate for a couple reasons. Okay, I'll stand by the original patch for now. At least it will allow cdrecord to work correctly with USB devices. It is true that many other factors come into play. In the end, we need a way to tell userspace how large a transfer length will work reliably. It should be available to all devices and drivers that export any sort of raw I/O interface -- including sg and the block layer's SG_IO interface. Alan Stern - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html