Re: [PATCH 0/3] Eliminate delegation self-conflicts

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

 



> On Aug 29, 2017, at 5:52 PM, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote:
> 
> On Sat, Aug 26, 2017 at 02:06:05PM -0400, Chuck Lever wrote:
>> 
>>> On Aug 25, 2017, at 5:52 PM, J. Bruce Fields <bfields@xxxxxxxxxx> wrote:
>>> 
>>> From: "J. Bruce Fields" <bfields@xxxxxxxxxx>
>>> 
>>> This is my attempt to fix the NFS server so we don't unnecessarily
>>> recall delegations when the operation breaking the delegation comes from
>>> the same client that holds the delegation.
>>> 
>>> To do that we need some way to pass the identity of the breaker down
>>> through the VFS.
>>> 
>>> I didn't feel like adding another argument to all the VFS functions that
>>> this might need to be passed down through.  But all of those functions
>>> already take a struct inode **delegated inode, so instead I turned that
>>> into a single-member struct deleg_ctrl *, which I then added a second
>>> member to.
>>> 
>>> I dunno, welcome any more straightforward ways of doing this if anyone
>>> has suggestions.
>>> 
>>> My first attempt was to do this by instead checking for conflicts in the
>>> caller (nfsd) and then passing down one just one bit telling the lease
>>> code conflicts had already been checked so it didn't need to.  But
>>> that's much too early to check for conflicts, since the caller doesn't
>>> have the necessary inode locks yet.
>>> 
>>> I'm still missing testing.  Regression tests pass, but I haven't
>>> actually confirmed that the self-conflicts are gone!  Off to go hack on
>>> pynfs....
>> 
>> FWIW, I observe a lot of delegation recall activity when running
> 
> How are you measuring that?

My observation is based on wire traces.


>> the git regression tests on an NFSv4.x mount. This is a single
>> client.
> 
>> 
>> Unpack a recent release of the git tarball.
>> 
>> $ cd src/git
>> $ make clean
>> $ make
>> $ make test
>> 
>> Easily scriptable, and you can "cd t/" and run individual
>> regression tests if you like.
> 
> Thanks, I'll look into that.
> 
> --b.

--
Chuck Lever






[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux