Re: [Patch v5 08/21] CIFS: SMBD: Upper layer reconnects to SMB Direct session

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [Patch v5 08/21] CIFS: SMBD: Upper layer reconnects to SMB Direct session

Samba - samba-technical mailing list
2017-10-18 16:09 GMT-07:00 Long Li <[hidden email]>:

> From: Long Li <[hidden email]>
>
> Do a reconnect on SMB Direct when it is used as the connection. Reconnect can
> happen for many reasons and it's mostly the decision of SMB2 upper layer.
>
> Signed-off-by: Long Li <[hidden email]>
> ---
>  fs/cifs/connect.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
> index 2c0b34a..8ca3c13 100644
> --- a/fs/cifs/connect.c
> +++ b/fs/cifs/connect.c
> @@ -406,7 +406,14 @@ cifs_reconnect(struct TCP_Server_Info *server)
>
>                 /* we should try only the port we connected to before */
>                 mutex_lock(&server->srv_mutex);
> +#ifdef CONFIG_CIFS_SMB_DIRECT
> +               if (server->rdma)
> +                       rc = smbd_reconnect(server);
> +               else
> +                       rc = generic_ip_connect(server);

Minor: here and in other similar places we can remove #else part below
and put #endif before else block above.

> +#else
>                 rc = generic_ip_connect(server);
> +#endif
>                 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 [hidden email]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
Best regards,
Pavel Shilovsky

Reply | Threaded
Open this post in threaded view
|

RE: [Patch v5 08/21] CIFS: SMBD: Upper layer reconnects to SMB Direct session

Samba - samba-technical mailing list
> -----Original Message-----
> From: Matthew Wilcox
> Sent: Wednesday, November 1, 2017 12:45 PM
> To: Pavel Shilovsky <[hidden email]>; Long Li <[hidden email]>
> Cc: Steve French <[hidden email]>; linux-cifs <linux-
> [hidden email]>; samba-technical <[hidden email]>;
> Kernel Mailing List <[hidden email]>; linux-
> [hidden email]; Tom Talpey <[hidden email]>; Stephen
> Hemminger <[hidden email]>; Long Li <[hidden email]>
> Subject: RE: [Patch v5 08/21] CIFS: SMBD: Upper layer reconnects to SMB
> Direct session
>
> From: Pavel Shilovsky [mailto:[hidden email]]
> > 2017-10-18 16:09 GMT-07:00 Long Li <[hidden email]>:
> > > From: Long Li <[hidden email]>
> > >
> > > Do a reconnect on SMB Direct when it is used as the connection.
> > > Reconnect
> > can
> > > happen for many reasons and it's mostly the decision of SMB2 upper
> layer.
> > >
> > > Signed-off-by: Long Li <[hidden email]>
> > > ---
> > >  fs/cifs/connect.c | 7 +++++++
> > >  1 file changed, 7 insertions(+)
> > >
> > > diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index
> > > 2c0b34a..8ca3c13 100644
> > > --- a/fs/cifs/connect.c
> > > +++ b/fs/cifs/connect.c
> > > @@ -406,7 +406,14 @@ cifs_reconnect(struct TCP_Server_Info *server)
> > >
> > >                 /* we should try only the port we connected to before */
> > >                 mutex_lock(&server->srv_mutex);
> > > +#ifdef CONFIG_CIFS_SMB_DIRECT
> > > +               if (server->rdma)
> > > +                       rc = smbd_reconnect(server);
> > > +               else
> > > +                       rc = generic_ip_connect(server);
> >
> > Minor: here and in other similar places we can remove #else part below
> > and put #endif before else block above.
> >
> > > +#else
> > >                 rc = generic_ip_connect(server);
> > > +#endif
>
> I'd suggest rather:
>
> #ifdef CONFIG_CIFS_SMB_DIRECT
> #define cifs_rdma_enabled(server) ((server)->rdma)
> #else
> #define cifs_rdma_enabled(server) 0
> #endif
>
> Then we don't need an ifdef in the users, just:
>
> if (cifs_rdma_enabled(server))
> rc = smbd_reconnect(server);
> else
> rc = generic_ip_connect(server);

I will fix this. Thank you.

Long