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

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

 



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?

> 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.



[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