On Wed, Mar 06, 2019 at 07:37:00AM -0800, Frank Filz wrote:
> On Wed, Mar 06, 2019 at 09:09:21AM +0200, Amir Goldstein wrote:
> > On Tue, Mar 5, 2019 at 11:48 PM J. Bruce Fields
> > <bfields(a)fieldses.org> wrote:
> > >
> > > On Thu, Feb 14, 2019 at 04:06:52PM -0500, J. Bruce Fields wrote:
> > > > After this:
> > > >
> > > >
https://marc.info/?l=linux-nfs&m=154966239918297&w=2
> > > >
> > > > delegations would no longer conflict with opens from the same
> > > > tgid. So if your threads all run in the same process and
> > > > you're willing to manage conflicts among your own clients,
> > > > that should still allow you to do multiple opens of the same
> > > > file without giving up your
> lease/delegation.
> > > >
> > > > I'd be curious to know whether that works with Samba's
design.
> > >
> > > Any idea whether that would work?
> > >
> > > (Easy? Impossible? Possible, but realistically the changes
> > > required to Samba would be painful enough that it'd be unlikely
> > > to get done?)
> > >
> >
> > [CC Ralph Boehme]
> >
> > I am not a samba team member, but seems to me that your proposal
> > fits samba design like a glove. With one smbd process per client
> > connection, with your proposal, opens (for read) from same smbd
> > process will not break the shared read lease from same client, so
> > oplocks level II could be implemented using kernel oplocks (new
> > flavor).
>
> OK. So I wonder about Ganesha. I'm not sure, but I *think* it's
> like knfsd in that it has a bunch of worker threads that can each
> take rpc's from any client. I don't remember if they're actually
> threads or processes.
Ganesha does use worker threads
And they're all part of one process?
however, one thing that may be an
advantage here, or at least can be leveraged, is that Ganesha attaches
a single file descriptor to each stateid. As long as the I/O requests
come using the stateid, that file descriptor will be used.
We have some work completed and more in progress on delegations, and
if there becomes a new kernel oplock available, we could definitely
use it. On the other hand, FSAL_VFS which is the FSAL used with kernel
file systems does not support delegations...
The (distributed) file systems we support delegations on have use
space libraries (which Samba should also be using?) that implement the
delegation primitives.
Is there anyone working on delegation support for FSAL_VFS? If it's not
getting much attention then maybe Samba is the only real user for the
forseeable future.
--b.