diff options
author | Jeff Layton <jlayton@redhat.com> | 2016-10-20 09:34:31 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2016-10-24 16:51:21 -0400 |
commit | 0cc11a61b80a1ab1d12f1597b27b8b45ef8bac4a (patch) | |
tree | 391b3b25eb0ac4780c5498f76fef1927f59fe907 /net | |
parent | 07d9a380680d1c0eb51ef87ff2eab5c994949e69 (diff) |
nfsd: move blocked lock handling under a dedicated spinlock
Bruce was hitting some lockdep warnings in testing, showing that we
could hit a deadlock with the new CB_NOTIFY_LOCK handling, involving a
rather complex situation involving four different spinlocks.
The crux of the matter is that we end up taking the nn->client_lock in
the lm_notify handler. The simplest fix is to just declare a new
per-nfsd_net spinlock to protect the new CB_NOTIFY_LOCK structures.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions