From: "Steve French" <smfrench@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: "Gerald Carter" <coffeedude.jerry@gmail.com>,
"Christoph Hellwig" <hch@infradead.org>,
linux-cifs-client@lists.samba.org, simo <idra@samba.org>
Subject: Re: [linux-cifs-client] Re: SMB2 file system - should it be a distinct module
Date: Thu, 3 May 2007 10:35:41 -0500 [thread overview]
Message-ID: <524f69650705030835y488b0493wc97ab79ba25cd539@mail.gmail.com> (raw)
In-Reply-To: <1178204186.28758.37.camel@localhost.localdomain>
To clarify:
1) SMB2 is negotiated like a new dialect (of SMB/CIFS). The new
dialects is sent in the same SMB negotiate protocol request that has
been used for years. The protocol header format changes to that of
SMB2 (if accepted by the server) on all subsequent requests.
2) If the server does not support SMB2, the client should fall back to
using CIFS (as existing SMB2 clients do).
3) So far, all servers which support SMB2 also support CIFS.
If SMB2 protocol support were coded as a distinct module, the smb2.ko
would need to load cifs.ko to complete session setup in many cases
(presumably when mounting to NetApp, EMC, most older Windows servers
and some Samba servers - at least for a few years).
Because we (Samba, Linux client and even MacOS, HP/UX) have added
optional extensions to CIFS which are not present in SMB2 (although we
should add them), the difficulty is simply which to try first:
1) If we knew the server did not support the CIFS Unix Exensions (CIFS
POSIX Protocol Extensions) but the server was new enough to support
SMB2 then we should request SMB2 (as soon as a stable SMB2 Linux
kernel client were written/tested). SMB2 has increased limits on
file handles, and should perform marginally better (if the client were
well implemented, unlike some non-Linux clients ...)
But we don't know until the response from the SMB Negotiate Protocol
what the server capabilities are.
Eventually this problem goes away, when we specify and code Unix
Protocol Extensions to SMB2 for Samba etc. as we have done for CIFS,
but in the meantime, I am leaning toward:
1) trying SMB/CIFS only (not including SMB2 dialect) on DFS referrals
by default (unless the user configures the client differently at run
time)
2) On mount trying smb2 only if the user mounted explicitly with "-t
smb2" (but fallback to CIFS if the server does not support SMB2) -
otherwise (for "-t cifs") mount is unchanged.
In any case SMB2 would be considered experimental (for a Linux client)
for quite some time, so there is no hurry to decide until there is
feedback from users. I am pleased that SMB2 does clean up the
protocol header format - and it should be easier to code in some ways
since there are so few operations to support/optimize (and almost all
are handlebased), but it is way to early to tell which is better (as
far as I know, no one has even proved whether SMB2 is faster than CIFS
or Vista to Vista mounts).
On 5/3/07, simo <idra@samba.org> wrote:
> On Thu, 2007-05-03 at 09:46 -0500, Gerald Carter wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > Simo,
> >
> > > I guess DFS referrals can work cross protocol, so if you are redirected
> > > from a longhorn server to a windoes 2000 or a samba server you want to
> > > be able to follow the DFS referral and not return an error.
> > > To do that you need to have either 1 module that support both protocols
> > > or a way from one module to call the other. Just separating the 2
> > > without any glue will not work (or you will have to add some userspace
> > > upcall hack to make it work).
> >
> > Long term I agree that CIFS and SMB2 should be in the same .ko
> > But NTLM 0.12 still works for Vista and DFS referrals.
> > Breaking out SMB2 initially means that it will not clutter
> > the working cifs.ko code. Remember that an SMB2 client fs is
> > mostly research at this point, and not engineering.
>
> Well, development can happen in any way Steve or any other like to do
> it, but it seemed to me that the proposal was to split them long term.
>
> I think this would be bad wrt supporting DFS referrals.
>
> That said, it I'll shut up as kindly requested from someone that seem to
> know better than Samba/CIFS developers.
>
> Simo.
>
> --
> Simo Sorce
> Samba Team GPL Compliance Officer
> email: idra@samba.org
> http://samba.org
>
>
--
Thanks,
Steve
next prev parent reply other threads:[~2007-05-03 15:35 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-30 22:52 Steve French
2007-04-30 23:15 ` Chris Friesen
2007-05-01 9:06 ` Christoph Hellwig
2007-05-03 13:21 ` [linux-cifs-client] " simo
2007-05-03 14:17 ` Christoph Hellwig
2007-05-03 14:36 ` simo
2007-05-03 14:43 ` Christoph Hellwig
2007-05-03 14:53 ` simo
2007-05-03 15:14 ` Chuck Ebbert
2007-05-03 14:46 ` Gerald Carter
2007-05-03 14:56 ` simo
2007-05-03 15:35 ` Steve French [this message]
2007-05-03 15:44 ` Christoph Hellwig
2007-05-04 17:12 ` Jeremy Allison
2007-05-04 17:43 ` simo
2007-05-05 9:55 ` Christoph Hellwig
2007-05-04 18:35 ` Steve French
2007-05-01 9:30 ` Jan Engelhardt
2007-05-01 19:26 ` [linux-cifs-client] Re: SMB2 file system - should it be a distinctmodule Wagner, Chris (GEAE, CBTS)
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=524f69650705030835y488b0493wc97ab79ba25cd539@mail.gmail.com \
--to=smfrench@gmail.com \
--cc=coffeedude.jerry@gmail.com \
--cc=hch@infradead.org \
--cc=idra@samba.org \
--cc=linux-cifs-client@lists.samba.org \
--cc=linux-kernel@vger.kernel.org \
/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
all inboxes | Powered by JetHome®