>>>>> "Tom" == Tom Yan <tom.ty89@xxxxxxxxx> writes: Tom> Hmm, is it originated from: (2^32-1) - (2^32-1)%512 = 4294966784 Tom> bytes = 8388607 (512-byte) blocks = 0x7fffff Yes. Tom> What about SD_MAX_XFER_BLOCKS then? It is merely there to provide a theoretical upper max for the 16 and 32-byte READ/WRITE commands. The block layer would never submit a request that big given all the constraints we have in place (controller segment/scatterlist/max_sectors, etc.). The TRIM/WRITE SAME/UNMAP commands are different in that their payload size differs from the size of the block range they act upon. So we need to artificially constrain their limits. -- Martin K. Petersen Oracle Linux Engineering -- 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