diff mbox

[v3,06/19] CIFS: SMBD: Reconnect to SMBDirect session

Message ID 20170829192915.26251-7-longli@exchange.microsoft.com (mailing list archive)
State New, archived
Headers show

Commit Message

Long Li Aug. 29, 2017, 7:29 p.m. UTC
From: Long Li <longli@microsoft.com>

Do a reconnect on SMBDirect when it is used as the connection. Reconnect can
happen for many reasons and it's mostly the decision of upper layer SMB2 not
SMBDirect.

Signed-off-by: Long Li <longli@microsoft.com>
---
 fs/cifs/connect.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Pavel Shilovsky Aug. 29, 2017, 11:15 p.m. UTC | #1
2017-08-29 12:29 GMT-07:00 Long Li <longli@exchange.microsoft.com>:
> From: Long Li <longli@microsoft.com>
>
> Do a reconnect on SMBDirect when it is used as the connection. Reconnect can
> happen for many reasons and it's mostly the decision of upper layer SMB2 not
> SMBDirect.
>
> Signed-off-by: Long Li <longli@microsoft.com>
> ---
>  fs/cifs/connect.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
> index 43b4d54..341a3fd 100644
> --- a/fs/cifs/connect.c
> +++ b/fs/cifs/connect.c
> @@ -409,7 +409,11 @@ cifs_reconnect(struct TCP_Server_Info *server)
>
>                 /* we should try only the port we connected to before */
>                 mutex_lock(&server->srv_mutex);
> -               rc = generic_ip_connect(server);
> +               if (server->rdma)
> +                       rc = smbd_reconnect(server);
> +               else
> +                       rc = generic_ip_connect(server);
> +
>                 if (rc) {
>                         cifs_dbg(FYI, "reconnect error %d\n", rc);
>                         mutex_unlock(&server->srv_mutex);
> --
> 2.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

It is a easier to follow the logic if the definition is introduced
together with using of this function in the existing code. I suggest
to add smbd_reconnect() definition in this patch.
--
Best regards,
Pavel Shilovsky
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Long Li Aug. 29, 2017, 11:39 p.m. UTC | #2
> -----Original Message-----

> From: Pavel Shilovsky [mailto:piastryyy@gmail.com]

> Sent: Tuesday, August 29, 2017 4:15 PM

> To: Long Li <longli@microsoft.com>

> Cc: Steve French <sfrench@samba.org>; linux-cifs <linux-

> cifs@vger.kernel.org>; samba-technical <samba-technical@lists.samba.org>;

> Kernel Mailing List <linux-kernel@vger.kernel.org>; linux-

> rdma@vger.kernel.org; Christoph Hellwig <hch@infradead.org>; Tom Talpey

> <ttalpey@microsoft.com>; Matthew Wilcox <mawilcox@microsoft.com>;

> Long Li <longli@microsoft.com>

> Subject: Re: [Patch v3 06/19] CIFS: SMBD: Reconnect to SMBDirect session

> 

> 2017-08-29 12:29 GMT-07:00 Long Li <longli@exchange.microsoft.com>:

> > From: Long Li <longli@microsoft.com>

> >

> > Do a reconnect on SMBDirect when it is used as the connection.

> > Reconnect can happen for many reasons and it's mostly the decision of

> > upper layer SMB2 not SMBDirect.

> >

> > Signed-off-by: Long Li <longli@microsoft.com>

> > ---

> >  fs/cifs/connect.c | 6 +++++-

> >  1 file changed, 5 insertions(+), 1 deletion(-)

> >

> > diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index

> > 43b4d54..341a3fd 100644

> > --- a/fs/cifs/connect.c

> > +++ b/fs/cifs/connect.c

> > @@ -409,7 +409,11 @@ cifs_reconnect(struct TCP_Server_Info *server)

> >

> >                 /* we should try only the port we connected to before */

> >                 mutex_lock(&server->srv_mutex);

> > -               rc = generic_ip_connect(server);

> > +               if (server->rdma)

> > +                       rc = smbd_reconnect(server);

> > +               else

> > +                       rc = generic_ip_connect(server);

> > +

> >                 if (rc) {

> >                         cifs_dbg(FYI, "reconnect error %d\n", rc);

> >                         mutex_unlock(&server->srv_mutex);

> > --

> > 2.7.4

> >

> > --

> > To unsubscribe from this list: send the line "unsubscribe linux-cifs"

> > in the body of a message to majordomo@vger.kernel.org More

> majordomo

> > info at

> >

> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fvger.k

> > ernel.org%2Fmajordomo-

> info.html&data=02%7C01%7Clongli%40microsoft.com%

> >

> 7C192678645752449a875b08d4ef33d874%7C72f988bf86f141af91ab2d7cd011d

> b47%

> >

> 7C1%7C0%7C636396453334398562&sdata=i5dZUoUU91foFGipTsgQBnmYJeU

> aeWww2QI

> > xoP9BSO4%3D&reserved=0

> 

> It is a easier to follow the logic if the definition is introduced together with

> using of this function in the existing code. I suggest to add smbd_reconnect()

> definition in this patch.


I will do this in v4.

> --

> Best regards,

> Pavel Shilovsky
diff mbox

Patch

diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 43b4d54..341a3fd 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -409,7 +409,11 @@  cifs_reconnect(struct TCP_Server_Info *server)
 
 		/* we should try only the port we connected to before */
 		mutex_lock(&server->srv_mutex);
-		rc = generic_ip_connect(server);
+		if (server->rdma)
+			rc = smbd_reconnect(server);
+		else
+			rc = generic_ip_connect(server);
+
 		if (rc) {
 			cifs_dbg(FYI, "reconnect error %d\n", rc);
 			mutex_unlock(&server->srv_mutex);