Skip to content

Commit e25c03a

Browse files
xuejiufeigregkh
authored andcommitted
ocfs2/dlm: clear refmap bit of recovery lock while doing local recovery cleanup
commit c95a518 upstream. When recovery master down, dlm_do_local_recovery_cleanup() only remove the $RECOVERY lock owned by dead node, but do not clear the refmap bit. Which will make umount thread falling in dead loop migrating $RECOVERY to the dead node. Signed-off-by: xuejiufei <[email protected]> Reviewed-by: Joseph Qi <[email protected]> Cc: Mark Fasheh <[email protected]> Cc: Joel Becker <[email protected]> Cc: Junxiao Bi <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 6f7b1e5 commit e25c03a

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

fs/ocfs2/dlm/dlmrecovery.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2332,6 +2332,8 @@ static void dlm_do_local_recovery_cleanup(struct dlm_ctxt *dlm, u8 dead_node)
23322332
break;
23332333
}
23342334
}
2335+
dlm_lockres_clear_refmap_bit(dlm, res,
2336+
dead_node);
23352337
spin_unlock(&res->spinlock);
23362338
continue;
23372339
}

0 commit comments

Comments
 (0)