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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Matthew Wilcox
> Sent: Monday, November 6, 2017 10:10 AM
> To: Long Li <longli@xxxxxxxxxxxxx>; Pavel Shilovsky <piastryyy@xxxxxxxxx>
> Cc: linux-cifs <linux-cifs@xxxxxxxxxxxxxxx>; Stephen Hemminger
> <sthemmin@xxxxxxxxxxxxx>; linux-rdma@xxxxxxxxxxxxxxx; Kernel Mailing
> List <linux-kernel@xxxxxxxxxxxxxxx>; Steve French <sfrench@xxxxxxxxx>
> Subject: RE: [Patch v5 08/21] CIFS: SMBD: Upper layer reconnects to SMB
> Direct session
> 
> Oh, I hadn't noticed that.  Then I amend my suggestion to be:
> 
> #ifdef CONFIG_CIFS_SMB_DIRECT
> #define cifs_rdma_enabled(server)	((server)->rdma)
> #else
> #define cifs_rdma_enabled(server)	0
> static inline void cifs_reconnect(struct TCP_Server_Info *server) { } #endif

I will address those and update patch.

> 
> > -----Original Message-----
> > From: Long Li
> > Sent: Sunday, November 5, 2017 2:20 PM
> > To: Long Li <longli@xxxxxxxxxxxxx>; Matthew Wilcox
> > <mawilcox@xxxxxxxxxxxxx>; Pavel Shilovsky <piastryyy@xxxxxxxxx>
> > Cc: linux-cifs <linux-cifs@xxxxxxxxxxxxxxx>; Stephen Hemminger
> > <sthemmin@xxxxxxxxxxxxx>; linux-rdma@xxxxxxxxxxxxxxx; Kernel Mailing
> > List <linux-kernel@xxxxxxxxxxxxxxx>; Steve French <sfrench@xxxxxxxxx>
> > Subject: RE: [Patch v5 08/21] CIFS: SMBD: Upper layer reconnects to
> > SMB Direct session
> >
> >
> >
> > > -----Original Message-----
> > > From: samba-technical
> > > [mailto:samba-technical-bounces@xxxxxxxxxxxxxxx]
> > > On Behalf Of Long Li via samba-technical
> > > Sent: Sunday, November 5, 2017 10:37 AM
> > > To: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx>; Pavel Shilovsky
> > > <piastryyy@xxxxxxxxx>
> > > Cc: linux-cifs <linux-cifs@xxxxxxxxxxxxxxx>; Stephen Hemminger
> > > <sthemmin@xxxxxxxxxxxxx>; linux-rdma@xxxxxxxxxxxxxxx;
> > > samba-technical <samba-technical@xxxxxxxxxxxxxxx>; Kernel Mailing
> > > List <linux- kernel@xxxxxxxxxxxxxxx>; Steve French
> > > <sfrench@xxxxxxxxx>
> > > Subject: RE: [Patch v5 08/21] CIFS: SMBD: Upper layer reconnects to
> > > SMB Direct session
> > >
> > > > -----Original Message-----
> > > > From: Matthew Wilcox
> > > > Sent: Wednesday, November 1, 2017 12:45 PM
> > > > To: Pavel Shilovsky <piastryyy@xxxxxxxxx>; Long Li
> > > > <longli@xxxxxxxxxxxxx>
> > > > Cc: Steve French <sfrench@xxxxxxxxx>; linux-cifs <linux-
> > > > cifs@xxxxxxxxxxxxxxx>; samba-technical
> > > > <samba-technical@xxxxxxxxxxxxxxx>;
> > > > Kernel Mailing List <linux-kernel@xxxxxxxxxxxxxxx>; linux-
> > > > rdma@xxxxxxxxxxxxxxx; Tom Talpey <ttalpey@xxxxxxxxxxxxx>;
> Stephen
> > > > Hemminger <sthemmin@xxxxxxxxxxxxx>; Long Li
> <longli@xxxxxxxxxxxxx>
> > > > Subject: RE: [Patch v5 08/21] CIFS: SMBD: Upper layer reconnects
> > > > to SMB Direct session
> > > >
> > > > From: Pavel Shilovsky [mailto:piastryyy@xxxxxxxxx]
> > > > > 2017-10-18 16:09 GMT-07:00 Long Li
> <longli@xxxxxxxxxxxxxxxxxxxxxx>:
> > > > > > From: Long Li <longli@xxxxxxxxxxxxx>
> > > > > >
> > > > > > 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 <longli@xxxxxxxxxxxxx>
> > > > > > ---
> > > > > >  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);
> >
> > It doesn't work well, because smbd_reconnect is defined when
> > CONFIG_CIFS_SMB_DIRECT is set. Now the compiler is complaining it
> > can't find this function. Maybe compiler is not smart enough :)
> >
> > I have sent v6 for all the other comments.
��.n��������+%������w��{.n�����{���fk��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux