Re: [PATCH 02/11] vfs: More precise tests in d_invalidate

2014-02-15 Thread Eric W. Biederman
Linus Torvalds writes: > On Sat, Feb 15, 2014 at 3:23 PM, Eric W. Biederman > wrote: >> >> Except that today d_invalidate drops the dcache lock and >> calls shrink_dcache_parent. Which gets you into exactly the same >> complex "walk parents and check all siblings" code. > > Hmm. It only does th

Re: [PATCH 02/11] vfs: More precise tests in d_invalidate

2014-02-15 Thread Linus Torvalds
On Sat, Feb 15, 2014 at 3:23 PM, Eric W. Biederman wrote: > > Except that today d_invalidate drops the dcache lock and > calls shrink_dcache_parent. Which gets you into exactly the same > complex "walk parents and check all siblings" code. Hmm. It only does that for directories that have sub-ent

Re: [PATCH 02/11] vfs: More precise tests in d_invalidate

2014-02-15 Thread Eric W. Biederman
ebied...@xmission.com (Eric W. Biederman) writes: > But when shrink_dcache_parent and check_submounts_and_drop are > effectiely the same function I can't possibly see how you can argue how > the locking has changed or that I am trying to hide things. And in particular the only locking change that

Re: [PATCH 02/11] vfs: More precise tests in d_invalidate

2014-02-15 Thread Eric W. Biederman
Linus Torvalds writes: > On Sat, Feb 15, 2014 at 2:51 PM, Linus Torvalds > wrote: >> >> the whole check_submounts_and_drop thing walks the parent chain and >> locks each parent with the renamelock held for writing. > > Oops, my bad about the write lock, brainfart due to grepping and > reading th

Re: [PATCH 02/11] vfs: More precise tests in d_invalidate

2014-02-15 Thread Linus Torvalds
On Sat, Feb 15, 2014 at 2:51 PM, Linus Torvalds wrote: > > the whole check_submounts_and_drop thing walks the parent chain and > locks each parent with the renamelock held for writing. Oops, my bad about the write lock, brainfart due to grepping and reading the wrong context... check_submounts_a

Re: [PATCH 02/11] vfs: More precise tests in d_invalidate

2014-02-15 Thread Linus Torvalds
On Sat, Feb 15, 2014 at 1:36 PM, Eric W. Biederman wrote: > > The one difference between d_invalidate and check_submounts_and_drop > is that d_invalidate must respect it when a d_revalidate method has > earlier called d_drop so preserve the d_unhashed check in > d_invalidate. What? There's anoth