On Wed, 2017-01-25 at 18:25 +0100, Christoph Hellwig wrote: > this series splits the support for SCSI passthrough commands from the > main struct request used all over the block layer into a separate > scsi_request structure that drivers that want to support SCSI passthough > need to embedded as the first thing into their request-private data, > similar to how we handle NVMe passthrough commands. > > To support this I've added support for that the private data after > request structure to the legacy request path instead, so that it can > be treated the same way as the blk-mq path. Compare to the current > scsi_cmnd allocator that actually is a major simplification. > > Changes since V1: > - fix handling of a NULL sense pointer in __scsi_execute > - clean up handling of the flush flags in the block layer and MD > - additional small cleanup in dm-rq Hello Christoph, A general comment: patch "block: allow specifying size for extra command data" is a very welcome improvement but unfortunately also introduces an inconsistency among block drivers. This patch series namely creates two kinds of block drivers: - Block drivers that use the block layer core to allocate request-private data. These block drivers set request.cmd_size to a non-zero value and do not need request.special. - Block drivers that allocate request-private data themselves. These block drivers set request.cmd_size to zero and use request.special to translate a request pointer into the private data pointer. Have you considered to convert all block drivers to the new approach and to get rid of request.special? If so, do you already have plans to start working on this? I'm namely wondering wheter I should start working on this myself. Thanks, Bart.-- 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