[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ddf87227-1ad3-b8be-23ba-460433f70a85@grimberg.me>
Date: Fri, 12 Feb 2021 13:49:32 -0800
From: Sagi Grimberg <sagi@...mberg.me>
To: Keith Busch <kbusch@...nel.org>
Cc: Daniel Wagner <dwagner@...e.de>, linux-nvme@...ts.infradead.org,
linux-kernel@...r.kernel.org, Christoph Hellwig <hch@....de>,
Jens Axboe <axboe@...com>, Hannes Reinecke <hare@...e.de>
Subject: Re: [PATCH] nvme-tcp: Check if request has started before processing
it
>>> blk_mq_tag_to_rq() will always return a request if the command_id is
>>> in the valid range. Check if the request has been started. If we
>>> blindly process the request we might double complete a request which
>>> can be fatal.
>>
>> How did you get to this one? did the controller send a completion for
>> a completed/bogus request?
>
> If that is the case, then that must mean it's possible the driver could
> have started the command id just before the bogus completion check. Data
> iorruption, right?
Yes, which is why I don't think this check is very useful..
Powered by blists - more mailing lists