On Thu, 2017-08-24 at 18:57 +0200, [email protected] wrote:
> On Thu, Aug 24, 2017 at 04:14:22PM +0000, Bart Van Assche wrote:
> > Commit ca18d6f769d2 ("block: Make most scsi_req_init() calls implicit")
> > introduced the scsi_initialize_rq() function in such a way that it is not 
> > only
> > called for pass-through requests but also for FS requests. Because that 
> > commit
> > sets .initialize_rq_fn for both blk-sq and blk-mq blk_get_request() now 
> > calls
> > scsi_initialize_rq() for all SCSI requests. Or did I perhaps overlook 
> > something?
> 
> initialize_rq_fn is only called from blk_get_request, which is not
> called for normal file system read/write/flush/discard request.
> 
> Also unless my memory fails me that's something that I and Jens requested
> to be changed from your original version.

Hello Christoph,

Is one of the following two approaches perhaps what you had in mind?
* Adding an .initialize_rq_fn() call to multiple blk_rq_init() and
  blk_mq_rq_ctx_init() callers, e.g. blk_mq_make_request(), __get_request(),
  blk_kick_flush() and scsi_ioctl_reset().
* Moving the .initialize_rq_fn() call from blk_get_request() into blk_rq_init()
  and blk_mq_rq_ctx_init() (see also
  https://www.spinics.net/lists/linux-scsi/msg108934.html).

Thanks,

Bart.

Reply via email to