]> git.baikalelectronics.ru Git - kernel.git/commit
nfs: don't sleep with inode lock in lock_and_join_requests
authorWeston Andros Adamson <dros@primarydata.com>
Fri, 8 Aug 2014 15:00:57 +0000 (11:00 -0400)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Fri, 22 Aug 2014 22:04:43 +0000 (18:04 -0400)
commit6851da55785337af43852d1c718172b7216e5133
tree44688dff0d435b29531366be55e42f5f99928a9c
parent8ed5b294230eacbfdcd6427254f3ee333f946e36
nfs: don't sleep with inode lock in lock_and_join_requests

This handles the 'nonblock=false' case in nfs_lock_and_join_requests.
If the group is already locked and blocking is allowed, drop the inode lock
and wait for the group lock to be cleared before trying it all again.
This should fix warnings found in peterz's tree (sched/wait branch), where
might_sleep() checks are added to wait.[ch].

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Weston Andros Adamson <dros@primarydata.com>
Reviewed-by: Peng Tao <tao.peng@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/pagelist.c
fs/nfs/write.c
include/linux/nfs_page.h