From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Howells Subject: Re: [PATCH 01/18] Add a dentry op to handle automounting rather than abusing follow_link() Date: Fri, 14 Jan 2011 09:24:47 +0000 Message-ID: <32127.1294997087@redhat.com> References: <20110111174809.2291.52242.stgit@warthog.procyon.org.uk> <20110111174815.2291.41967.stgit@warthog.procyon.org.uk> <14657.1294921241@redhat.com> Cc: dhowells@redhat.com, npiggin@kernel.dk, viro@zeniv.linux.org.uk, raven@themaw.net, autofs@linux.kernel.org, linux-fsdevel@vger.kernel.org To: Nick Piggin Return-path: Received: from mx1.redhat.com ([209.132.183.28]:52567 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751335Ab1ANJZB (ORCPT ); Fri, 14 Jan 2011 04:25:01 -0500 In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Nick Piggin wrote: > You still have to notice that it is .d_automount in rcu-walk mode, and bail > out if it is. I can't see where you do that. follow_managed(), and thus follow_automount() and ->d_automount(), are never reached in rcu_walk mode, from what I can tell of the code. There are two places follow_managed() is called: (1) do_lookup() - where follow_managed() is only called in the else-part of an if-statement contingent on a check of LOOKUP_RCU. (2) do_last() - where follow_managed() is subsequent to a mutex having been taken, so rcu-walk mode must have been exited prior to this as the process may have needed to sleep. At least, I'm assuming you may not sleep whilst in rcu-walk mode. David