All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Anton Eidelman <anton@lightbitslabs.com>
Cc: keith.busch@intel.com, hare@suse.de, hch@lst.de,
	linux-nvme@lists.infradead.org, sagi@grimberg.me
Subject: Re: [PATCH] nvme-multipath: fix possible io hang after ctrl reconnect
Date: Thu, 17 Oct 2019 17:22:41 +0200	[thread overview]
Message-ID: <20191017152241.GA9155@lst.de> (raw)
In-Reply-To: <20191015170802.16830-1-anton@lightbitslabs.com>

On Tue, Oct 15, 2019 at 10:08:02AM -0700, Anton Eidelman wrote:
> The following scenario results in an IO hang:
> 1) ctrl completes a request with NVME_SC_ANA_TRANSITION.
>    NVME_NS_ANA_PENDING bit in ns->flags is set and ana_work is triggered.
> 2) ana_work: nvme_read_ana_log() tries to get the ANA log page from the ctrl.
>    This fails because ctrl disconnects.
>    Therefore nvme_update_ns_ana_state() is not called
>    and NVME_NS_ANA_PENDING bit in ns->flags is not cleared.
> 3) ctrl reconnects: nvme_mpath_init(ctrl,...) calls
>    nvme_read_ana_log(ctrl, groups_only=true).
>    However, nvme_update_ana_state() does not update namespaces
>    because nr_nsids = 0 (due to groups_only mode).

How do you end up calling into nvme_init_identify for a reconnect?
That should always hit the !new path in nvme_tcp_configure_admin_queue.

_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

  parent reply	other threads:[~2019-10-17 15:22 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-15 17:08 [PATCH] nvme-multipath: fix possible io hang after ctrl reconnect Anton Eidelman
2019-10-17  7:03 ` Hannes Reinecke
2019-10-17 15:22 ` Christoph Hellwig [this message]
2019-10-17 18:11   ` Anton Eidelman
2019-10-18  9:10     ` Christoph Hellwig
2019-10-18 18:32       ` [PATCH v2 1/2] " Anton Eidelman
2019-10-18 18:32         ` [PATCH v2 2/2] nvme-multipath: remove unused groups_only mode in ana log Anton Eidelman
2019-10-22 19:48           ` Sagi Grimberg
2019-10-22 19:48         ` [PATCH v2 1/2] nvme-multipath: fix possible io hang after ctrl reconnect Sagi Grimberg
2019-10-23  1:18           ` Keith Busch

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=20191017152241.GA9155@lst.de \
    --to=hch@lst.de \
    --cc=anton@lightbitslabs.com \
    --cc=hare@suse.de \
    --cc=keith.busch@intel.com \
    --cc=linux-nvme@lists.infradead.org \
    --cc=sagi@grimberg.me \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.