summaryrefslogtreecommitdiff
path: root/fs/notify
diff options
context:
space:
mode:
authorIan Kent <raven@themaw.net>2016-09-20 00:44:12 +0300
committerSasha Levin <alexander.levin@verizon.com>2016-10-06 05:40:20 +0300
commit8a66ed3130d239398c821263953aaa7cbb8350ca (patch)
tree06b7a80615cc1ba3c619bf0ddb60fca1b0dbc914 /fs/notify
parent14386af60453989c978bbf000729afb77257ce83 (diff)
downloadlinux-8a66ed3130d239398c821263953aaa7cbb8350ca.tar.xz
autofs: use dentry flags to block walks during expire
[ Upstream commit 7cbdb4a286a60c5d519cb9223fe2134d26870d39 ] 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 47be61845c77 ("fs/dcache.c: avoid soft-lockup in dput()") added a might_sleep() to dput() causing a WARN_ONCE() about this usage to be issued. 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) because 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()") Link: http://lkml.kernel.org/r/20160912014017.1773.73060.stgit@pluto.themaw.net Signed-off-by: Ian Kent <raven@themaw.net> Reported-by: Takashi Iwai <tiwai@suse.de> Tested-by: Takashi Iwai <tiwai@suse.de> Cc: Takashi Iwai <tiwai@suse.de> Cc: NeilBrown <neilb@suse.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Diffstat (limited to 'fs/notify')
0 files changed, 0 insertions, 0 deletions