diff options
-rw-r--r-- | fs/dlm/member.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/dlm/member.c b/fs/dlm/member.c index 356337102015..c0f557a80a75 100644 --- a/fs/dlm/member.c +++ b/fs/dlm/member.c @@ -571,7 +571,13 @@ int dlm_recover_members(struct dlm_ls *ls, struct dlm_recover *rv, int *neg_out) list_for_each_entry_safe(memb, safe, &ls->ls_nodes, list) { node = find_config_node(rv, memb->nodeid); - if (node && !node->new && !node->gone) + if (!node) { + log_error(ls, "remove member %d invalid", + memb->nodeid); + return -EFAULT; + } + + if (!node->new && !node->gone) continue; release_recover = 0; |