On Mon, 12 Sep 2016 09:40:17 +0800 Ian Kent <raven@xxxxxxxxxx> 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@xxxxxxxxxx> > Cc: Takashi Iwai <tiwai@xxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: NeilBrown <neilb@xxxxxxxx> 47be61845c77 is cc:stable, so this should be likewise. I've made those two changes to my copy of this changelog. -- 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