CVSROOT:        /cvs/cluster
Module name:    cluster
Changes by:     [EMAIL PROTECTED]       2008-01-25 18:12:08

Modified files:
        rgmanager      : ChangeLog 
        rgmanager/src/daemons: rg_thread.c rg_state.c 

Log message:
        Fix #430272, #430220

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/ChangeLog.diff?cvsroot=cluster&r1=1.71&r2=1.72
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_thread.c.diff?cvsroot=cluster&r1=1.25&r2=1.26
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/rg_state.c.diff?cvsroot=cluster&r1=1.46&r2=1.47

--- cluster/rgmanager/ChangeLog 2008/01/02 11:40:58     1.71
+++ cluster/rgmanager/ChangeLog 2008/01/25 18:12:08     1.72
@@ -1,3 +1,8 @@
+2008-01-25 Lon Hohberger <lhh at redhat.com>
+       * src/daemons/rg_thread.c: Fix case that broke 'clusvcadm -e <service>
+       -n <node>' case #430220
+       * src/daemons/rg_state.c: Don't enable migrate-to-self (#430272)
+
 2008-01-02 Fabio M. Di Nitto <fabbione at ubuntu.com>
        * src/resources/ocf-shellfuncs: Add interpreter.
 
--- cluster/rgmanager/src/daemons/rg_thread.c   2007/11/30 21:36:28     1.25
+++ cluster/rgmanager/src/daemons/rg_thread.c   2008/01/25 18:12:08     1.26
@@ -264,14 +264,12 @@
                        break;
 
                case RG_ENABLE:
-                       #if 0
                        if (req->rr_target != 0 &&
                            req->rr_target != my_id()) {
                                error = RG_EFORWARD;
                                ret = RG_NONE;
                                break;
                        }
-                       #endif
                case RG_START:
                        if (req->rr_arg0) {
                                error = handle_fd_start_req(myname,
--- cluster/rgmanager/src/daemons/rg_state.c    2008/01/16 18:51:11     1.46
+++ cluster/rgmanager/src/daemons/rg_state.c    2008/01/25 18:12:08     1.47
@@ -910,6 +910,12 @@
                return RG_EFAIL;
        }
 
+       if (svcStatus.rs_owner == target) {
+               rg_unlock(&lockp);
+               /* Do not allow migration to its current owner! */
+               return 0;
+       }
+
        if (svcStatus.rs_owner != my_id()) {
                rg_unlock(&lockp);
                return RG_EFORWARD;

Reply via email to