linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Bart.VanAssche@wdc.com (Bart Van Assche)
Subject: Reconnect on RDMA device reset
Date: Mon, 29 Jan 2018 21:34:39 +0000	[thread overview]
Message-ID: <1517261678.2687.49.camel@wdc.com> (raw)
In-Reply-To: <26056a83-2f81-6b56-7bbf-fcecfc4518d6@grimberg.me>

On Mon, 2018-01-29@22:36 +0200, Sagi Grimberg wrote:
> > I *think* for SRP this is already the case.  The SRP target uses the
> > kernel LIO framework, so if you bounce the device under the SRPt layer,
> > doesn't the config get preserved?  So that when the device came back up,
> > the LIO configuration would still be there and the SRPt driver would see
> > that? Bart?
> 
> I think you're right. I think we can do that if we keep the listener
> cm_id device node_guid and when a new device comes in we can see if we 
> have a cm listener on that device and re-listen. That is a good idea
> Doug.

Sorry that I hadn't noticed this e-mail thread earlier and that I had not yet
replied. The SRPT config should get preserved as long as the device removal
function (srpt_remove_one()) does not get called.

> > For the SRP client, I'm almost certain it will try to reconnect since it
> > uses a user space daemon with a shell script that restarts the daemon on
> > various events.  That might have changed...didn't we just take a patch
> > to rdma-core to drop the shell script?  It might not reconnect
> > automatically with the latest rdma-core, I'd have to check.  Bart should
> > know though...
> 
> srp driver relies on srp_daemon to discover and connect again over the
> new device. iSER relies on iscsiadm to reconnect. I guess it should be
> the correct approach for nvme as well (which we don't have at the
> moment)...

There are two mechanisms for the SRP initiator to make it reconnect to an SRP
target:
1. srp_daemon. Even with the latest rdma-core changes srp_daemon should still
   discover SRP targets and reconnect to the target systems it is allowed to
   reconnect to by its configuration file.
2. The reconnection mechanism in the SCSI SRP transport layer. See also the
   documentation of the reconnect_delay in
   https://www.kernel.org/doc/Documentation/ABI/stable/sysfs-transport-srp

Bart.

  reply	other threads:[~2018-01-29 21:34 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-22 15:07 Reconnect on RDMA device reset Oren Duer
2018-01-23 12:42 ` Sagi Grimberg
2018-01-24  7:41   ` Oren Duer
2018-01-24 20:52     ` Sagi Grimberg
2018-01-25 14:10       ` Oren Duer
2018-01-29 19:58         ` Sagi Grimberg
2018-01-25 18:13       ` Doug Ledford
2018-01-25 19:06         ` Chuck Lever
2018-01-29 20:01           ` Sagi Grimberg
2018-01-29 20:11             ` Chuck Lever
2018-01-29 21:27               ` Doug Ledford
2018-01-29 21:46                 ` Chuck Lever
2018-01-25 22:48         ` Jason Gunthorpe
2018-01-29 20:36         ` Sagi Grimberg
2018-01-29 21:34           ` Bart Van Assche [this message]
2018-01-29 22:28           ` Doug Ledford
2018-01-30 15:03             ` Oren Duer
2018-01-30 17:24               ` Doug Ledford
2018-01-30 17:51                 ` Steve Wise

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=1517261678.2687.49.camel@wdc.com \
    --to=bart.vanassche@wdc.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;
as well as URLs for NNTP newsgroup(s).