On Thu, 2011-01-13 at 11:58 +1100, Nick Piggin wrote: > On Wed, Jan 12, 2011 at 4:01 PM, Ian Kent <raven@xxxxxxxxxx> wrote: > > On Wed, 2011-01-12 at 10:19 +0530, Aneesh Kumar K. V wrote: > >> for 9p I did the other way round. lookup now set the dentry op for both > >> negative and positive dentries and rest of the place we dropped > >> d_set_d_op (b8b80cf37c7f0e32729262f805bc0fa81c3e9d12 have the details) > > > > Sadly I can't do that. > > > > For now I need to avoid calls to ->d_revalidate() as much as possible to > > reduce a potential deadlock and have access to the flags of the negative > > dentry (during create) for the purpose of blocking concurrent walks. > > What prevents your d_revalidate from just checking for negative dentry? Whether the dentry is negative or not doesn't change the need to block walks which introduces the possibility of blocking while holding the parent i_mutex, since it can't be released in revalidate. -- 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