From mboxrd@z Thu Jan 1 00:00:00 1970 From: lhh@sourceware.org Date: 22 Feb 2007 16:37:29 -0000 Subject: [Cluster-devel] cluster/rgmanager/src/daemons restree.c Message-ID: <20070222163729.3094.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: cluster Changes by: lhh at sourceware.org 2007-02-22 16:37:28 Modified files: rgmanager/src/daemons: restree.c Log message: Make status checks happen at 'start' time (parent-before-child) instead of 'stop' time (parent-after-child). Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/rgmanager/src/daemons/restree.c.diff?cvsroot=cluster&r1=1.24&r2=1.25 --- cluster/rgmanager/src/daemons/restree.c 2007/01/26 21:42:30 1.24 +++ cluster/rgmanager/src/daemons/restree.c 2007/02/22 16:37:28 1.25 @@ -1027,15 +1027,21 @@ ++node->rn_resource->r_incarnations; node->rn_state = RES_STARTED; } + } else if (me && (op == RS_STATUS)) { + /* Check status before children*/ + rv = do_status(node); + if (rv != 0) + return rv; } + if (node->rn_child) { rv = _res_op_by_level(&node, me?NULL:first, ret, op); if (rv != 0) return rv; } - /* Stop/status/etc stops after children have stopped */ + /* Stop should occur after children have stopped */ if (me && (op == RS_STOP)) { node->rn_flags &= ~RF_NEEDSTOP; rv = res_exec(node, res_ops[op], NULL, 0); @@ -1049,12 +1055,6 @@ --node->rn_resource->r_incarnations; node->rn_state = RES_STOPPED; } - - } else if (me && (op == RS_STATUS)) { - - rv = do_status(node); - if (rv != 0) - return rv; } /*