dlm: allow dlm do recovery during shutdown
authorSrinivas Eeda <srinivas.eeda@oracle.com>
Fri, 26 Feb 2010 20:53:51 +0000 (12:53 -0800)
committerJoel Becker <joel.becker@oracle.com>
Fri, 26 Feb 2010 23:41:19 +0000 (15:41 -0800)
If a node down event happens while dlm shutdown in progress, dlm recovery
should be done before dlm is shutdown.  We can't migrate unrecovered locks,
obviously.  But dlm_reco_thread only does recovery if the dlm_state is
in DLM_CTXT_JOINED.

dlm_reco_thread should do recovery if dlm_state is in DLM_CTXT_JOINED or
DLM_CTXT_IN_SHUTDOWN.

Signed-off-by: Srinivas Eeda <srinivas.eeda@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
fs/ocfs2/dlm/dlmrecovery.c

index 344bcf9..b4f99de 100644 (file)
@@ -310,7 +310,7 @@ static int dlm_recovery_thread(void *data)
        mlog(0, "dlm thread running for %s...\n", dlm->name);
 
        while (!kthread_should_stop()) {
-               if (dlm_joined(dlm)) {
+               if (dlm_domain_fully_joined(dlm)) {
                        status = dlm_do_recovery(dlm);
                        if (status == -EAGAIN) {
                                /* do not sleep, recheck immediately. */