2007-07-23 Lon Hohberger <lhh at redhat.com>
	* general: make threads exit with pthread_exit() so we can wrap/track them.
	Add internal statedump (SIGUSR1) support.
	* src/clulib/msg_cluster.c: Fix rare deadlock condition.  Add dump support.
	* src/clulib/tmgr.c: Add thread wrappers so we can report threads in
	internal state dumps.
	* src/clulib/vft.c: Fix rare crash if vf_resolve_views gets called with
	NULL.  Add dump support.
	* src/daemons/main.c: Fix minor memory leak in membership_update().  Fix
	crash-on-exit race.  Don't exit if someone requests foreground mode.
	* src/daemons/rg_forward.c: Clean up forwarding logic and handle missed
	case (forward-to-self -> ERROR!)
	* src/daemons/rg_state.c: Move closing / free of contexts out of
	send_ret/send_response to the caller (where they belong).  Don't let
	people relocate disabled services.
	* src/daemons/rg_thread.c: Don't loop forever if the thread exits before
	we notice that it's started.
	* src/daemons/clusvcadm.c: Fix error codes if you try to relocate when
	rgmanager isn't running

2007-07-12 Marek Grac <mgrac at redhat.com>
	* src/resources/Makefile: Fix #245178 - install RA for named

2007-07-10 Lon Hohberger <lhh at redhat.com>
	* src/daemons/rg_thread.c, groups.c: Make status queue max 1 instead
	of unbounded (resolves: 247488)

2007-06-29 Lon Hohberger <lhh at redhat.com>
	* src/daemons/groups.c, rg_state.c: Make all test cases for #237144
	work correctly

2007-06-27 Lon Hohberger <lhh at redhat.com>
	* Merge from RHEL5 branch.
	* src/daemons/vm.sh: Un-break migrate (#231692).  Make status
	checks happen every 30 seconds instead of 30 minutes.
	* include/resgroup.h: Move inline recovery flags to a header file,
	add RG_STATUS_INQUIRY for locating virtual machines which may have
	migrated.
	* include/reslist.h: Change res_exec() back to using agent_op_str()
	inline so we can squelch errors while performing RG_STATUS_INQUIRY
	* src/clulib/rg_strings.c: Add new strings for new error code / 
	request types
	* src/daemons/groups.c: Change group_migrate() to use the correct
	calling semantics
	* src/daemons/main.c, nodeevent.c: Clean up cases which could cause
	#244143
	* src/daemons/resrules.c: Clear up noise
	* src/daemons/restree.c: Squelch errors during RG_STATUS_INQUIRY
	Patch up inline service recovery (#229650)
	* src/daemons/rg_state.c: Don't let migrations or relocations to a
	node running exclusive services occur in the first place and return
	a useful error. (goes with #237144).  Locate virtual machines (or
	generally, services with the 'migrate' ability) elsewhere in the
	cluster prior to trying to start one.  Detect if someone migrates
	such a service without using the cluster tools (#232300)
	* src/daemons/test.c: Make rg_test do the right thing for migrate
	operations

2007-06-21 Fabio M. Di Nitto <fabbione at ubuntu.com>
	* rgmanager/src/clulib/alloc.c: Undefine DEBUG when building on IA64.
	The __builtin_address functionality should be taken from libunwind
	but porting requires some work. For now use this workaround and
	also make sure to wrap STACKSIZE withing DEBUG.

2007-06-14 Lon Hohberger <lhh at redhat.com>
	* include/resgroup.h: Fix size incompatibility on 32/64 bit mixed
	clusters.  Put in stubs for intelligent handling of state sizes
       	during a cluster upgrade.

2007-06-14 Marek Grac <mgrac at redhat.com>
        * src/daemons/main.c, rg_state.c, rg_thread.c,
          src/utils/clusvcadm.c
        * #211469 - RFE: Flag (-F) for clusvcadm to respect failover domain
        * 'clusvcadm -e service00' works same as in RHEL4 (differs from RHEL5.0)
	* -F for freeze was changed to -Z 

2007-06-13 Lon Hohberger <lhh at redhat.com>
	* src/daemons/restree.c: Fix #229650 uninitialized bug

2007-05-31 Lon Hohberger <lhh at redhat.com>
	* src/daemons/resrules.c: Fix #234249 - ignore obvious backup files
	in /usr/share/cluster when processing resource rules
	* src/daemons/restree.c, src/daemons/groups.c, include/reslist.h: 
	Implement independent subtrees, per bug #229650

2007-05-22 Lon Hohberger <lhh at redhat.com>
	* src/resources/SAPInstance, SAPDatabase: Add primary attrs

2007-05-09 Lon Hohberger <lhh at redhat.com>
	* src/resources/Makefile: Install SAP agents

2007-05-08 Lon Hohberger <lhh at redhat.com>
	* src/resources/SAPInstance, SAPDatabase: Add SAP resource agents
	from Alexander Krauth

2007-04-27 Lon Hohberger <lhh at redhat.com>
	* include/resgroup.h, src/clulib/rg_strings.c src/daemons/groups.c,
	rg_state.c, rg_thread.c, src/utils/clustat.c, clusvcadm.c: Apply
	patch to implement service freeze/unfreeze from Simone Gotti
	* src/daemons/sbuf.c: Add simple buffer handlers for future use
	by svc_status_inquiry

2007-04-27 Fabio M. Di Nitto <fabbione at ubuntu.com>
	* src/clulib/vft.c: Change ifdef to fix build on parisc.

2007-04-26 Lon Hohberger <lhh at redhat.com>
	* src/daemons/reslist.c: Try all direct ancestors while 
	performing run-time inheritance resolution #231521

2007-04-26 Fabio M. Di Nitto <fabbione at ubuntu.com>
	* src/daemons/Makefile: use resrules-noccs in dtest build
	target.

2007-04-19 Lon Hohberger <lhh at redhat.com>
	* src/daemons/groups.c, rg_state.c: Apply patch from Andrey
	Mirkin to fix bug #237144; prevents exclusive services from
	being accidentally (or intentionally) being started on the
	same node
	* src/resources/clusterfs.sh: Apply patch from Simone
	Gotti to fix logging errors in clusterfs.sh
	* src/daemons/main.c: Fix qdiskd being treated as an online
	cluster node

2007-04-12 Lon Hohberger <lhh at redhat.com>
	* src/daemons/main.c: Fix watchdog race condition causing
	reboot; patch from Andrey Mirkin; bugzilla #236204
	
2007-03-27 Lon Hohberger <lhh at redhat.com>
	* Merge patch from Crosswalk development team:
		* Scott Cannata
		* Henry Harris
		* Leonard Maiorani

=====
	
2006-10-25 Lon Hohberger <lhh at redhat.com>
	* src/resources/clusterfs.sh: Fix unmounting problem (#212074)

2006-10-23 Lon Hohberger <lhh at redhat.com>
	* src/resources/xenvm.sh: Gone; replaced with vm.sh.
	* The C code parts: Fix deadlocks incurred while testing
	rgmanager on larger node counts. #211701

2006-10-06 Lon Hohberger <lhh at redhat.com>
	* src/daemons/main.c: Fix #202492: provide rgmanager's view of
	who is running rgmanager to clustat.
	* src/daemons/groups.c: Fix tiny memory leak during configuration
	changes
	* include/resgroup.h: #202492: Flip unused RG_STATUS_INQUIRY to
	RG_STATUS_NODE.
	* src/utils/clustat.c: #202492: Send RG_STATUS_NODE to clurgmgrd
	in order to obtain rgmanager "group" status information

2006-09-27 Lon Hohberger <lhh at redhat.com>
	* src/daemons/rg_state.c: Fix #208011 - failed->disabled state 
	transition.  Fix node ID type.
	* include/members.h: Add a third state to note that a node does
	not need to be fenced as a result of rgmanager crashing.  Add protos
	for memb_set_state and member_online functions.
	* include/reslist.h: Fix type error; node IDs are 32-bit ints, not 
	64-bit ints.
	* src/clulib/members.c: Add member_set_state/online functions for
	quick checks and sets of the protected member list.  Zero out
	the node structure prior to calling cman_get_nodeid so that we 
	don't get ENOENT (fixed clustat bug where clustat didn't report
	the "local" flag).  Fix node ID type.
	* src/daemons/fo_domain.c: Fix node ID type, fix shadow declaration
	of member_online
	* src/daemons/groups.c: Unfix logic error that wasn't broken in the
	first place.
	* src/daemons/main.c: Fix node ID types.  Add fourth ("clean")
	param to node_event* to decide whether a node death is clean or not.
	Nodes get marked clean if we get an RG_EXITING message, otherwise,
	they are unclean, and we wait for fencing.  
	* src/daemons/nodeevent.c: Add fourth param to node_event* to help
	decide if we need to wait for a node to be fenced or not.  Fix
	node ID type.
	* src/utils/clustat.c: Fix logic error preventing nodes from properly
	being flagged.  Apply patch from Fabio M. Di Nitto to fix bug where
	clustat -s foo wasn't getting expanded to service:foo
	* src/daemons/rg_forward.c, rg_thread.c: Make forwarding of enable
	to specified target node work (#202498)

2006-09-01 Lon Hohberger <lhh at redhat.com>
	* include/resgroup.h: Add proto for rg_strerror
	* include/vf.h: Add proto for vf_invalidate (flushes vf cache)
	* src/clulib/rg_strings.c: Add rg_strerror function, define
	human-readable strings for rgmanager error values
	* src/clulib/vft.c: Add vf_invalidate (separate from vf_shutdown)
	* src/daemons/groups.c: Fix obvious logic error
	* src/daemons/main.c: Fix rg_doall() message during loss of quorum.
	Invalidate local VF cache and kill resource configurations on
	loss of quorum (#202497).  Send RG_EQUORUM back to clustat/clusvcadm
	so that they report why they can't get information.  Don't queue
	status checks if we've lost quorum.  Add command line parameter to
	disable internal crash watchdog
	* src/utils/clustat.c, clusvcadm.c: Handle SIGPIPE, and produce
	useful errors if possible.

2006-08-31 Marek Grác <mgrac at redhat.com>
	* src/daemons/restree.c: Fix #203720. Do not run backup copies (ends
	with ~) of resource agents.
	* src/resources/apache.*, mysql.*: Add Apache & MySQL resource agents
	* src/resources/utils/*: Add utility scripts for resource agents

2006-08-21 Lon Hohberger <lhh at redhat.com>
	* src/daemons/main.c: Fix #202500 - simultaneous starts confuse
	rgmanager.  This happened due to the fact that rgmanager was not
	correctly determining port listening status of other nodes on the
	first pass, and subsequent attempts to determine status of other 
	nodes were not tried.

2006-08-18 Lon Hohberger <lhh at redhat.com>
	* include/resgroup.h: Change ordering and add magic field to
	rgmanager state field (warning: breaks compatibility from 08/08 CVS!)
	* src/clulib/ckpt_state.c, src/daemons/rg_state.c: Fix bug
	preventing correct operation of ckpt operation after initial boot.
	Get rid of debug info.
	* src/daemons/groups,c, main.c: Fix #202499 - shutdown while handling
	transitions sometimes allows services to restart (due to not locking
	RGs locally)
	* src/resources/clusterfs.sh, fs.sh, nfsclient.sh: Add proper
	warning messages if status check fails
	* src/resources/ra-api-1-modified.dtd: Allow 'migrate' option
	* include/clulog.h, src/daemons/clulog.c: Fix default log levels so
	that they're LOG_NOTICE, and only one default is used (#200776)

2006-08-08 Lon Hohberger <lhh at redhat.com>
	* src/clulib/members.c: Fix gained/lost list creation so that the
	count is actually nonzero (#201713)
	* src/daemons/main.c: Fix typo in debug information.  Kill CMAN handle
	before doing a member list update.  Don't call memb_online; just
	check the cn_member field (optimization).  Don't process node event
	until the node actually closes port (#201713).
	* src/utils/clusvcadm.c: Fix relocation issues (#201711).

2006-08-07 Lon Hohberger <lhh at redhat.com>
	* src/clulib/ckpt_state.c: Preliminary implementation of replacement
	for VF using AIS CKPT B.02.01 (w/ built-in test program)
	* include/cman-private.h: Clean up APIs (cman APIs return
	cman_handle_t, which is void*, should be using void ** all over)
	* include/message.h: Bump context count to 128, add destination
	node ID in header of packets.
	* src/clulib/alloc.c: If we alloc the same size, return the same
	block
	* src/clulib/cman.c: API cleanups
	* src/clulib/message.c: Add error checking to msg_print
	* src/clulib/msg_cluster.c: Check destination in header before 
        processing message remove dup #define for MAX_CONTEXTS, add
	proto_error() macro for displaying protocol errors.  Use 'max' 
	instead of 'fd' for select().  Use correct var when assigning
	contexts.  Fix CMAN handles.  Return correct size from msg_send()
	requests.
	* src/clulib/msgtest.c: Fix CMAN handles
	* src/clulib/vft.c: Don't handle VF_CURRENT inside comms thread
	* src/daemons/main.c: Check to see if nodes are listening on our
	port before we consider them running.  Handle VF_CURRENT requests
	from other nodes.  Fail if we can't determine local node ID
	* src/daemons/rg_forward.c: Give 10 minutes for responses to
	forwarded requests.
	* src/daemons/rg_state.c: Shorten RG state names.  Fix 'Uncertain'
	output line.
	* src/utils/clustat.c: Fix ccs_member_list() function.

2006-05-23 Lon Hohberger <lhh at redhat.com>
	* src/daemons/members.c: Zap pad fields on copy-out
	* src/daemons/main.c: Give notice if skipping an event because of
	locked services.  Call the self-watchdog init function
	* src/daemons/watchdog.c: Add Stanko Kupcevic's self-watchdog from
	CVS head (fixes #193247)
	* src/daemons/groups.c: Add debug messages.  Actually count
	resgroups during node transition handling
	* src/daemons/rg_state.c: allow failover of stopping services if
	the owner died (#193255)
	* src/utils/clustat.c: fix typo, misc. usability problems (#192999)

2006-05-16 Lon Hohberger <lhh at redhat.com>
	* src/resources/nfsclient.sh: Fix 189218 - nfsclient not matching
	wildcards correctly when checking status.  Allow disabling of
	recovery for services where the nfs clients are ordered (this will
	cause a full service restart, but works)
	* src/resources/clusterfs.sh, fs.sh, svclib_nfslock, service.sh:
	Implement rudimentary atomic bomb-style NFS lock reclaim handling
	Needs compatible and correctly configured version of nfs-utils 
	installed and running on the system.  For clusterfs.sh, ensure
	that we flush buffers during service tear-down - regardless of
	whether or not we unmount the file system.
	* src/utils/clunfslock.sh: HA-callout program (/usr/sbin/clunfslock)
	for use with the rpc.statd -H parameter.  Copies the client to all
	cluster-managed mounted file systems so that it will get lock
	reclaim notification on failover.

2006-05-09 Lon Hohberger <lhh at redhat.com>
	* include/list.h: Prevent dereferencing curr if it's null for some
	reason
	* include/resgroup.h: Clean up alignment, add rgmanager lock/unlock
	message types
	* src/daemons/Makefile: Add nodeevent.o to the build for rgmanager
	* src/clulib/msgsimple.c: Misc code path cleanups
	* src/clulib/vft.c: Add local reads for fast clustat operation.
	* src/daemons/groups.c: Count all resource groups for all nodes 
	in one pass, rather than one node per pass.  Split queueing of
	status checks off so we never block the main thread.  Mark services
	which have autostart=0 in the config as "disabled" to help remove
	confusion between "disabled", "stopped", and the no-longer-needed
	"stopped but behave like disabled" states. bz #182454 /
	#190234 / #190408	
	* src/daemons/fo_domain.c: Add patch from Josef Whiter to 
	implement no-failback option for a given FO domain - bz #189841
	* src/daemons/main.c: Queue node events for another thread to
	handle, so we never block the main thread.  Also, implement 
	cluster-wide service lock/unlock feature from clumanager 1.2.x
	- bz #175010
	* src/daemons/nodeevent.c: Split out node event queueing / handling
	in to a separate thread so the main thread does not block
	* src/daemons/rg_state.c: Return error codes if resource groups
	are locked.
	* src/daemons/rg_thread.c: Fix assertion failure causing segfault
	in extremely rare cases.  Quash the rg queue during shutdown.
	- bz #181539
	* src/daemons/rg_state.c: Add fast local service state query to
	reduce unnecessary lock contention
	* src/daemons/groups.c: Handle request for expedited information
	from clustat.
	* src/daemons/main.c: Pass arg1 to send_rg_states() to enable fast
	clustat operation.
	* src/resources/fs.sh: Implement user/group quota support if 
	enabled in the file system options
	* src/utils/clustat.c: Misc. error handling.  Add single service / 
	member output and add -Q to the help information.  #185952.
	Added -f flag.
	* src/utils/clusvcadm.c: Implement client-side of #175010
	* src/utils/clustat.c: show transition time in clustat -x
	- bz #191398
	* src/resources/fs.sh: enable user/group quotas if enabled in the
	options attribute - bz #191182
	* init.d/rgmanager: fix typo - bz #191205


-------------

2005-03-21 Lon Hohberger <lhh at redhat.com>
	* init.d/rgmanager, Makefile: Fix up init script and add Makefile
	so that the init script is properly installed #142754
	* src/daemons/*: Fixes for #150344, #151187: Relocate to same node
	returns failure, hang during shutdown if user relocate is in-flight.
	Fix service state getting stuck in "recoverable" on fail-to-start
	scenarios where other nodes failed (or no other node was available)
	Rename "resourcegroup" to "service" to be consistent with UI
	* src/resources/fs.sh, clusterfs.sh: Fix #151077: Force unmount broken
	* src/resources/netfs.sh: Fix #151091: netfs status broken
	* src/resources/resourcegroup.sh, service.sh: Remove resourcegroup,
	rename to service.sh

2005-03-14 Lon Hohberger <lhh at redhat.com>
	* src/resources/clusterfs.sh, fs.sh: Make clusterfs actually work.
	Clean up fs.sh + clusterfs.sh "status" when mount reports none/
	devpets/usbdev/etc.
	* src/daemons/test.c: Add a 'rules' test function for printing
	resource rules to stdout.
	* src/daemons/reslist.c: Fix 151095

2005-03-07 Lon Hohberger <lhh at redhat.com>
	* include/resgroup.h: Add STOP_USER so we can handle user 
	STOP (instead of just DISABLE) requests.  #150333
	* src/resources/fs.sh: umount should umount mount points, not
	devices.  Handle symlinks to file system block devices.  #150481
	* src/clulib/rg_strings.c: Add user stop string.
	* src/clulib/gettid.c: errno fix from trunk
	* src/clulib/vft.c: Connect timeout extension for VF
	* src/daemons/main.c: Separate connect + login.  GuLM doesn't know
	about SGs.
	* src/daemons/rg_state.c: Change stop handling.  Add generic recover
	function.
	* src/daemons/rg_thread.c: Add support for RESTART, USER_STOP.
	#150330, #150333
	* src/utils/clusvcadm.c: Use USER_STOP to signal a user-called stop.
	#150333

2005-03-02 Lon Hohberger <lhh at redhat.com>
	* include/clulog.h: Change default log level to INFO
	* include/resgroup.h: Add proto for "best_target_node"
	* src/clulib/clulog.c: Change log facility to LOG_DAEMON to match
	other cluster daemons (e.g. lock_gulmd)
	* src/daemons/groups.c: Add best_target_node, count_resource_groups.
	Implement missing autostart-disable feature and requested exclusive
	resource group feature.  Store configuration view number so we can
	tell when the configuration changes.
	* src/daemons/main.c: Print node state transition messages before
	calling node_event().  Use do_status_checks() so we don't try to
	check services we're not running.  Bump periodic status event
	queueing to 10 seconds instead of 5.  Poll ccsd for config updates
	since we have no other way to find them.  Fix bug preventing
	status checks when clustat -i 1 is running.
	* src/daemons/rg_state.c: Fix handle_relocate_req so that it uses
	best_target_node() correctly.  Leave services which failed on all
	current nodes as 'stopped', so the next node transition will cause
	us to try to restart it automagically.  Consider recovery policy
	when taking recovery action.
	* src/daemons/rg_thread.c: Use recovery routine instead of start.
	* src/daemons/restree.c: Fix tree delta updates.
	* src/resources/resourcegroup.sh: Add 'exclusive' parameter.  Change
	'autostart' to a boolean instead of string.  Add recovery policy
	parameter.
	* src/utils/clusvcadm.c: Make "relocate to node X" work.

2005-02-28 Lon Hohberger <lhh at redhat.com>
	*  errors.txt: Remove random whitespace at the bottom.
	* include/resgroup.h: Add do_status_checks proto
	* include/rg_queue.h: Remove __ definitions so as not to conflict
	with glibc internals.
	* include/vf.h: Increase VF_COORD_TIMEOUT to something reasonable.
	* src/daemons/groups.c: Add do_status_checks().  We were previously
	queueing status checks for RGs that we didn't own.  Not useful.
	* src/daemons/main.c: Fix for #149410.
	* src/daemons/rg_state.c: Fix various failover service problems.
	* src/resources/script.sh: Remove "recover" from generic script
	wrapper.

=======================================================================

2004-09-23 Lon Hohberger <lhh at redhat.com>
	* include/reslist.h: Add needstart/needstop/common flags for
	reconfiguration.  Added RS_CONDSTART/CONDSTOP to perform "stop
	if needed/start if needed" operations after a resource [group]
	reconfiguration.  Cleaned up structures.  Added NO_CCS define for
	testing.
	* src/daemons/fo_domain.c: Added NO_CCS defines for testing.
	* src/daemons/main.c: Added reconfigure() stub function.  Added
	testing support.
	* src/daemons/reslist.c: Added comparsion + primary-attr functions
	for resources.  Add printout of needstart/stop in resource dump.
	* src/daemons/restree.c: Added resource list comparsion + 
	resource tree comparison functions.  Added condstart/stop to ops
	list.  Added CONDSTART/CONDSTOP handling in res_op.
	* src/daemons/rg_locks.c: Added NO_CCS support for testing.

2004-09-13 Lon Hohberger <lhh at redhat.com>
	* include/resgroup.h: Add a default check interval.
	* include/reslist.h: Add a recover operation, and put operations
	and checks together in each instantiated resource structure.
	* src/daemons/groups.c: Don't use the old rg_status() func --
	its internals have changed.
	* src/daemons/reslist.c: Duplicate the action structure of a 
	parent resource type into an instantiated resource.
	* src/daemons/resrules.c: Find the actions with the correct
	path.
	* src/daemons/restree.c: Add depth parameter to res_exec.  Add
	do_status - find the highest check/status level to perform given
	the elapsed time since another status operation was performed.
	Add a reference count each time a resource is started on a node.
	* src/daemons/rg_thread.c: Implement periodic status checks. 
 	Currently (in contrast to clumanager 1.2), these status checks
	are automatic and not configurable.
	* src/resources/*: Misc updates re: check intervals, new 
	parameters, etc.

2004-09-07 Lon Hohberger <lhh at redhat.com>
	* src/resources/group.sh: Add 'autostart' parameter to group 
	entity
	* src/daemons/*: Add support for OCF 'action' specifications.

2004-08-30 Lon Hohberger <lhh at redhat.com>
	* src/resources/*: Add status/monitor actions to metadata
	* include/list.h: Update to fix compiler warnings.  This is not
	complete; it's better to add a 'field' to structures requiring 
	list specs.
	* src/clulib/vft.c: Remove unnecessary pthread locks.
	* src/daemons/*: Misc. code cleanups.

2004-08-12 Lon Hohberger <lhh at redhat.com>
	* global: prepare for RPM build
