Re: dcache: remove trylock loops (was Re: [BUG] lock_parent() breakage when used from shrink_dentry_list())

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

 



On Tue, Mar 13, 2018 at 12:37:51AM +0000, Al Viro wrote:
> On Mon, Mar 12, 2018 at 06:52:31PM -0500, Eric W. Biederman wrote:
> 
> > Ah.  I see now there is now the s_roots list that handles
> > that bit of strangeness.
> > 
> > So one path is to simply remove the heuristic from
> > path_connected.
> > 
> > Another path is to have nfsv2 and nfsv3 not set s_root at all.
> > Leaving the heuristic working for the rest of the filesystems,
> > and generally simplifying the code.
> > 
> > Something like the diff below I should think.
> 
> > +	/* Leave nfsv2 and nfsv3 s_root == NULL */
> 
> Now, grep fs/super.c for s_root.  Or try to boot it, for that
> matter...

BTW, if rename happens on server and we step into directory
we'd already seen in one subtree while doing a lookup in
another, we will get it moved around.  Without having the
subtrees ever connected in dcache on client.  So adding
&& IS_ROOT(sb->s_root) to the test also won't work.



[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