From: james.smart@broadcom.com (James Smart)
Subject: [PATCH 4/4] nvme-fc: align nvme_fc_delete_association() with exit path
Date: Thu, 23 May 2019 09:01:21 -0700 [thread overview]
Message-ID: <678d2403-150e-dcd3-359f-329015c7b588@broadcom.com> (raw)
In-Reply-To: <6da3909f-cdaa-c6df-81fb-59f71d9f4f30@suse.de>
On 5/22/2019 7:00 AM, Hannes Reinecke wrote:
> On 5/21/19 6:25 PM, James Smart wrote:
>>
>> ? no.? This is removing the underlying queues while blk-mq is still
>> trying to submit to them - causing yet a different set of issues as
>> the driver will have released contexts but the calldowns are still
>> happening. Yet another different set of issues would likely appear.??
>> no need for this reorg.
>>
> Ah. Hmm. Well, I thought by having both paths identical we can ensure
> that the error path in the first would actually work.
> Now it's quite hard to test, lat alone validate.
>
> But if you have objections we can surely drop this patch.
I do believe the failure case that you're adding is different - we
haven't called start controller, so although the io queues and their
lldd hw queues are live, we haven't done ns scanning and release of
their queues to push things to the controller - so there won't be live
ios in the lld that could be referencing the hw queues, nor any path
that allows pushing of ios to anything other than the admin queue.?? The
nvmf_ready checks should filter out normal i/o, especially as our state
is not yet LIVE.? So that's the main difference with the generic change
in delete association.
Well, if we really wanted to test it right - I would either: a) avoid
the partial teardowns in the error path for this last state change check
and just call the delete association routine; or b) do that, but make
the error path always call delete association and delete association
knows how to tear down the partially built up association (vs it expects
a fully built up one now.
But that seems to be adding quite a bit of work for very little return.?
To be honest, the existing code, that doesn't fail out if LIVE can't be
transitioned to, isn't bad. There is no re-connect scheduled as it
completes successfully. So the association is fully built up. If the
state change failed - the only state that could have transitioned from
CONNECTING to then fail LIVE is the DELETING state, and its valid to
finish out successfully and let the delete path do its thing.
My preference is to leave the LIVE transition handling the way it is.
But I'm ok if you wanted to add the LIVE-transition patch you proposed,
but this patch in delete association isn't needed.
-- james
prev parent reply other threads:[~2019-05-23 16:01 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-20 6:36 [PATCH 0/4v3] nvme-fc: track state change failures Hannes Reinecke
2019-05-20 6:36 ` [PATCH 1/4] nvme: separate out nvme_ctrl_state_name() Hannes Reinecke
2019-05-21 6:46 ` Christoph Hellwig
2019-05-24 6:46 ` Sagi Grimberg
2019-05-24 7:33 ` Hannes Reinecke
2019-05-24 20:34 ` Keith Busch
2019-05-20 6:36 ` [PATCH 2/4] nvme-fc: track state change failures during reconnect Hannes Reinecke
2019-05-21 6:47 ` Christoph Hellwig
2019-05-24 6:51 ` Sagi Grimberg
2019-05-24 7:35 ` Hannes Reinecke
2019-05-20 6:36 ` [PATCH 3/4] nvme-fc: fail reconnect if state change fails Hannes Reinecke
2019-05-21 16:18 ` James Smart
2019-05-22 17:43 ` Arun Easi
2019-05-23 5:33 ` Hannes Reinecke
2019-05-23 15:46 ` James Smart
2019-05-23 15:52 ` [EXT] " Arun Easi
2019-05-20 6:36 ` [PATCH 4/4] nvme-fc: align nvme_fc_delete_association() with exit path Hannes Reinecke
2019-05-21 16:25 ` James Smart
2019-05-22 14:00 ` Hannes Reinecke
2019-05-23 16:01 ` James Smart [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=678d2403-150e-dcd3-359f-329015c7b588@broadcom.com \
--to=james.smart@broadcom.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox