[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20160912140715.a56f7d696dec7acc19180025@linux-foundation.org>
Date: Mon, 12 Sep 2016 14:07:15 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Ian Kent <raven@...maw.net>
Cc: Al Viro <viro@...IV.linux.org.uk>, Takashi Iwai <tiwai@...e.de>,
autofs mailing list <autofs@...r.kernel.org>,
NeilBrown <neilb@...e.com>,
Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>
Subject: Re: [PATCH] autofs - use dentry flags to block walks during expire
On Mon, 12 Sep 2016 09:40:17 +0800 Ian Kent <raven@...maw.net> wrote:
> Somewhere along the way the autofs expire operation has changed to
> hold a spin lock over expired dentry selection. The autofs indirect
> mount expired dentry selection is complicated and quite lengthy so
> it isn't appropriate to hold a spin lock over the operation.
>
> Commit 47be6184 added a might_sleep() to dput() causing a BUG()
> about this usage to be issued.
It's a WARN_ONCE(), not a BUG()?
> But the spin lock doesn't need to be held over this check, the
> autofs dentry info. flags are enough to block walks into dentrys
> during the expire.
>
> I've left the direct mount expire as it is (for now) becuase it
> is much simpler and quicker than the indirect mount expire and
> adding spin lock release and re-aquires would do nothing more
> than add overhead.
>
> Fixes: 47be61845c77 ("fs/dcache.c: avoid soft-lockup in dput()")
> Signed-off-by: Ian Kent <raven@...maw.net>
> Cc: Takashi Iwai <tiwai@...e.de>
> Cc: Andrew Morton <akpm@...ux-foundation.org>
> Cc: NeilBrown <neilb@...e.com>
47be61845c77 is cc:stable, so this should be likewise.
I've made those two changes to my copy of this changelog.
Powered by blists - more mailing lists