[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f1e278d0-bcf8-506d-7298-0a194f4893f0@kernel.dk>
Date: Mon, 16 Apr 2018 21:56:20 -0600
From: Jens Axboe <axboe@...nel.dk>
To: Jianchao Wang <jianchao.w.wang@...cle.com>
Cc: bart.vanassche@....com, tj@...nel.org, ming.lei@...hat.com,
Martin@...htvoll.de, stable@...r.kernel.org,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] blk-mq: start request gstate with gen 1
On 4/16/18 9:46 PM, Jianchao Wang wrote:
> rq->gstate and rq->aborted_gstate both are zero before rqs are
> allocated. If we have a small timeout, when the timer fires,
> there could be rqs that are never allocated, and also there could
> be rq that has been allocated but not initialized and started. At
> the moment, the rq->gstate and rq->aborted_gstate both are 0, thus
> the blk_mq_terminate_expired will identify the rq is timed out and
> invoke .timeout early.
>
> For scsi, this will cause scsi_times_out to be invoked before the
> scsi_cmnd is not initialized, scsi_cmnd->device is still NULL at
> the moment, then we will get crash.
Oops, this looks good to me. Applied.
--
Jens Axboe
Powered by blists - more mailing lists