diff options
author | Steven Rostedt (Red Hat) <rostedt@goodmis.org> | 2016-03-10 10:23:15 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2016-03-10 10:33:02 -0500 |
commit | 51edd030a0c3e547e275a776cd4108e1cab5495a (patch) | |
tree | 5bb744c9a539877a98fea4affaa2129087e9b667 /fs/ocfs2/dlmglue.c | |
parent | f2129ab437590c0d7f864725f580373270fd47f9 (diff) | |
parent | 83fdace666f72dbfc4a7681a04e3689b61dae3b9 (diff) | |
download | linux-rt-51edd030a0c3e547e275a776cd4108e1cab5495a.tar.gz |
Merge tag 'v4.1.18' into v4.1-rt
Linux 4.1.18
Conflicts:
kernel/futex.c
kernel/printk/printk.c
lib/dump_stack.c
Diffstat (limited to 'fs/ocfs2/dlmglue.c')
-rw-r--r-- | fs/ocfs2/dlmglue.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/ocfs2/dlmglue.c b/fs/ocfs2/dlmglue.c index 23157e40dd74..3623ab6fa97f 100644 --- a/fs/ocfs2/dlmglue.c +++ b/fs/ocfs2/dlmglue.c @@ -1390,6 +1390,7 @@ static int __ocfs2_cluster_lock(struct ocfs2_super *osb, unsigned int gen; int noqueue_attempted = 0; int dlm_locked = 0; + int kick_dc = 0; if (!(lockres->l_flags & OCFS2_LOCK_INITIALIZED)) { mlog_errno(-EINVAL); @@ -1524,7 +1525,12 @@ update_holders: unlock: lockres_clear_flags(lockres, OCFS2_LOCK_UPCONVERT_FINISHING); + /* ocfs2_unblock_lock reques on seeing OCFS2_LOCK_UPCONVERT_FINISHING */ + kick_dc = (lockres->l_flags & OCFS2_LOCK_BLOCKED); + spin_unlock_irqrestore(&lockres->l_lock, flags); + if (kick_dc) + ocfs2_wake_downconvert_thread(osb); out: /* * This is helping work around a lock inversion between the page lock |