Hi! > > NFS calls the freezable helpers with locks held, which is unsafe > > and caused lockdep warnings when 6aa9707 "lockdep: check that no > > locks held at freeze time" was applied (reverted in dbf520a). > > Add new *_unsafe versions of the helpers that will not run the > > lockdep test when 6aa9707 is reapplied, and call them from NFS. > > > > Signed-off-by: Colin Cross <ccross@xxxxxxxxxxx> > > --- > > fs/nfs/inode.c | 2 +- > > fs/nfs/nfs3proc.c | 2 +- > > fs/nfs/nfs4proc.c | 4 ++-- > > include/linux/freezer.h | 42 +++++++++++++++++++++++++++++++++++++++++- > > net/sunrpc/sched.c | 2 +- > > 5 files changed, 46 insertions(+), 6 deletions(-) > > > > diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c > > index 1f94167..53cbee5 100644 > > --- a/fs/nfs/inode.c > > +++ b/fs/nfs/inode.c > > @@ -79,7 +79,7 @@ int nfs_wait_bit_killable(void *word) > > { > > if (fatal_signal_pending(current)) > > return -ERESTARTSYS; > > - freezable_schedule(); > > + freezable_schedule_unsafe(); > > I'd suggest naming such variants _unkillable() instead of _unsafe(). > > There's nothing inherently 'unsafe' about it: the user asked for a hard > NFS mount and is getting it: with the side effect that it exposes the > machine to network delays in a 'hard' way as well. Which means suspend may > block indefinitely as well on network failure. You only want to use _unsafe() variants when you enter refrigerator with locks held. And entering refrigerator with locks is tricky... and unsafe :-). It is not directly related to killability. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html