On 10/11/2013 11:03 AM, Christoph Hellwig wrote:
On Fri, Oct 11, 2013 at 10:40:06AM -0700, Andy Grover wrote:
In addition to block size (already implemented), passing through
alignment offset, logical-to-phys block exponent, I/O granularity and
optimal I/O length will allow initiators to properly handle layout on
LUNs with 4K block sizes.
Tested with various weird values via scsi_debug module.
One thing to look at with this patch is the new block limits values --
instead of granularity 1 optimal 8192, Lio will now be returning whatever
the block device says, which may affect performance.
Wouldn't it be nicer to have a single method that takes a whole
queue_limits structure?
It seemed better to me to keep the munging from queue_limits values to
what the target core needed in the block backstore code, and not use a
block-specific structure in the backstore<->core interface.
It looks like a few includes of blkdev.h slipped into target core, but
these can be removed safely -- lio core doesn't depend on the block layer.
We could define a new struct to get the 4 values at once, but it didn't
seem worth it, esp. since two are only needed by emulate_readcapacity16,
and the other two only by emulate_evpd_b0.
-- Andy
--
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