[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <44b6159a-a86f-4b76-bcef-35f267e69835@flourine.local>
Date: Thu, 24 Apr 2025 13:26:08 +0200
From: Daniel Wagner <dwagner@...e.de>
To: Hannes Reinecke <hare@...e.de>
Cc: Daniel Wagner <wagi@...nel.org>,
James Smart <james.smart@...adcom.com>, Christoph Hellwig <hch@....de>, Sagi Grimberg <sagi@...mberg.me>,
Chaitanya Kulkarni <kch@...dia.com>, Keith Busch <kbusch@...nel.org>, linux-nvme@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v5 06/14] nvmet-fcloop: add missing
fcloop_callback_host_done
On Thu, Apr 24, 2025 at 12:13:10PM +0200, Hannes Reinecke wrote:
> > + if (!tfcp_req) {
> > /* abort has already been called */
> > - return;
> > + goto out_host_done;
> > + }
> Sure this is correct?
> If the abort has been called I would have expected that all resources
> are cleaned up by the abort, so we wouldn't need to do that here...
Yes, it is still necessary to call fcpreq->done for this particular request.
> > @@ -983,7 +984,7 @@ fcloop_fcp_abort(struct nvme_fc_local_port *localport,
> > default:
> > spin_unlock_irqrestore(&tfcp_req->reqlock, flags);
> > WARN_ON(1);
> > - return;
> > + goto out_host_done;
>
> Do we still need the WARN_ON()? We can now gracefully recover, so a
> simple log message would be sufficient here, no?
The WARN_ON is there because it catches when tfcp_req is in an wrong
state. It should be either in INI_IO_START, INI_IO_ACTIVE or
INI_IO_COMPLETED but never INI_IO_ABORT.
Powered by blists - more mailing lists