On Wed, 2019-03-06 at 10:11 -0500, J. Bruce Fields wrote:
On Tue, Mar 05, 2019 at 04:47:48PM -0500, J. Bruce Fields 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?)
Volker reminds me off-list that he'd like to see Ganesha and Samba work out an API in userspace first before commiting to a user<->kernel API.
Jeff, wasn't there some work (on Ceph maybe?) on a userspace delegation API? Is that close to what's needed?
Here's the C headers for that stuff: https://github.com/ceph/ceph/blob/7ba6bece4187eda5d05a9b84211fe6ba8dd287bd/s... It's simple enough and works for us in ganesha, and I think we can probably adapt it to samba without too much difficulty. The callback doesn't seem like it'll do for a kernel API though -- you'd almost certainly need to do something different there (signals? inotify?).
In any case, my immediate goal is just to get knfsd fixed, which doesn't really commit us to anything--knfsd only needs kernel internal interfaces. But it'd be nice to have at least some idea if we're on the right track, to save having to redo that work later.
-- Jeff Layton <jlayton@kernel.org>