Re: [RFC] lustre treatment of dentry->d_name

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

 



Hello!

On Oct 21, 2014, at 12:02 AM, Al Viro wrote:

> On Tue, Oct 21, 2014 at 03:46:02AM +0000, Drokin, Oleg wrote:
> 
>>> 	a) what protects ->d_name in ll_intent_file_open()?  It copies
>>> ->d_name.name and ->d_name.len into local variables and proceeds to
>>> use those; what's to guarantee that dentry won't get hit with d_move()
>>> halfway through that?  None of the locks that would give an exclusion
>>> against d_move() appear to be held…
>> 
>> You are right. We hit something very similar not too long ago.
>>> 
>>> 	b) what stabilizes *dentryp->d_name in do_statahead_enter()?
> 
>> Same as above.
>> All of that would go away once we get rid of the wrapper and unroll the
>> vfs ops.
>> 
>> Hopefully this makes at least some sense to you.
> 
> OK...  I'd gone and ripped some of that stuff out today; see if what's in
> vfs.git#for-oleg makes sense…

I think it makes sense indeed.
The "get rid of duplicate mountpoint checks" patch has a hunk at ll_link
that looks like it belongs to "kill ll_link_generic()" patch,
otherwise the intermediate result is somewhat strange.

> Another question: what's wrong with d_splice_alias() or d_materialise_unique()?
> I.e. why do we need ll_splice_alias()?  I have patches in local queue

We used to need it to also find and reuse invalid aliases, so that the dentry
cache does not get out of control with constant dentry invalidations we have.

I checked the code and now that d_splice_alias is calling __d_find_any_alias
that seems to just pick the first alias off the list, we should be fine
with just using generic d_splice_alias.
Just to be sure I guess I need to try a testrun, but it's a bit less convenient
now as I am away from my usual test nodes on a pretty awful internet connection
too.
John, I wonder if you can give this idea a try soonish?


Bye,
    Oleg--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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