Re: [PATCH v2 12/12] block: Rename blk_mq_rq_{to,from}_pdu()
From: Jens Axboe <axboe@kernel.dk>
Date: 2017-06-01 19:28:51
On 06/01/2017 12:17 PM, Bart Van Assche wrote:
On Thu, 2017-06-01 at 12:06 -0700, Jens Axboe wrote:quoted
On 06/01/2017 06:11 AM, Bart Van Assche wrote:quoted
On Thu, 2017-06-01 at 08:08 +0200, Christoph Hellwig wrote:quoted
On Wed, May 31, 2017 at 03:52:46PM -0700, Bart Van Assche wrote:quoted
Commit 6d247d7f71d1 ("block: allow specifying size for extra command data") added support for .cmd_size to blk-sq. Due to that patch the blk_mq_rq_{to,from}_pdu() functions are also useful for single-queue block drivers. Hence remove "_mq" from the name of these functions. This patch does not change any functionality. Most of this patch has been generated by running the following shell command:I don't really see the point of this as it's primarily a blk-mq API and we still hope to get rid of the old code. But I'm not necessarily against it either.I would like to introduce calls to these functions in several scsi-sq functions. If I would do that without renaming these functions then anyone who reads the code of these functions and sees calls to functions with a blk_mq_ prefix could get really confused when trying to figure out whether these functions are used by scsi-sq, scsi-mq or perhaps both.But that should go away, eventually.Hello Jens, I agree that we should work towards removal of the single queue block layer. But how long will it take before that code is removed? Due to recent patches from Christoph the 'request' member in struct scsi_cmnd is now superfluous. I'd like to replace accesses to that member by a call to blk_mq_rq_from_pdu(). I'm afraid that doing that in scsi-sq code paths will make that code look weird.
For the old path, I'd suggest that you just wrap the blk_mq_*_pdu() calls with a non-mq named version, and stuff that in blkdev.h. That way we can keep the blk-mq API more logical, and we can just kill those wrappers when the last user goes away. That's also a lot less churn than renaming all of the existing callers. -- Jens Axboe