[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1519702875.3120.7.camel@wdc.com>
Date: Tue, 27 Feb 2018 03:41:15 +0000
From: Bart Van Assche <Bart.VanAssche@....com>
To: "jejb@...ux.vnet.ibm.com" <jejb@...ux.vnet.ibm.com>,
"martin.petersen@...cle.com" <martin.petersen@...cle.com>,
"jianchao.w.wang@...cle.com" <jianchao.w.wang@...cle.com>
CC: "linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"hch@....de" <hch@....de>
Subject: Re: [PATCH] scsi: core: use blk_mq_requeue_request in
__scsi_queue_insert
On Tue, 2018-02-27 at 11:28 +0800, jianchao.wang wrote:
> If that is true, what if aacraid driver uses block legacy instead of blk-mq ?
> w/ blk-mq disabled, __scsi_queue_insert just requeue the request with blk_requeue_request.
>
> __scsi_queue_insert
> ...
> if (q->mq_ops) {
> scsi_mq_requeue_cmd(cmd);
> return;
> }
> spin_lock_irqsave(q->queue_lock, flags);
> blk_requeue_request(q, cmd->request);
> kblockd_schedule_work(&device->requeue_work);
> spin_unlock_irqrestore(q->queue_lock, flags);
> ...
>
> no prep/unprep code there for block legacy code.
Hello Jianchao,
For the legacy block layer preparing and unpreparing a request happens from
inside the block layer core. Please have a look at block/blk-core.c and the
code in that file that handles the request flag RQF_DONTPREP.
Thanks,
Bart.
Powered by blists - more mailing lists