Fri Jan 17 02:42:35 1997  Andreas Luik  <luik@ramses.pharao.s.bawue.de>

	* conn.c (connDoSyncsToServers, connSyncToServer): new functions;
	implements first version of initial file system synchronization.
	(connDoTerminateConnectionsToServers): new function to terminate
	all active connections.

	* omirrd.c (process_signal): call `connDoTerminateConnections-
	ToServers' to close all connections (simplifies resync, which is
	then done automagically during reconnect).
	(process_omirrk_message): call `connDoSyncsToServers' to resync
	for `Z' message.

	* op.c (opMaster): improved performance by using local buffer anc
	converting to hex using inline code instead of sprintf(3c).

Thu Jan 16 21:00:07 1997  Andreas Luik  <luik@ramses.pharao.s.bawue.de>

	* Implemented handling of alternate install path in the "install"
	directive including "whole" mode (option -w). Modifications:

	* cf.c (cfFileMatch): new parameter `targetpathp' which returns
	target pathname on remote host.

	* cfnl.c (cfMatchNameInList): new parameter `targetnamep' which
	returns the basename of the filename (filename without common
	pattern prefix).

	* op.c (opMaster): compute target pathname on remote host and use
	it in message sent to slave omirrd.

Thu Jan 16 20:52:53 1997  Andreas Luik  <luik@ramses.pharao.s.bawue.de>

	* iname.c (inamLookupDevIno): keep inconsistent entry if refcount
	!= 0 to avoid timing problems between kernel messages and
	filesystem state.

Thu Jan 16 15:03:48 1997  Andreas Luik  <luik@ramses.pharao.s.bawue.de>

	* Completely redone find subprocess handling to resolve dev/ino
 	pairs to pathnames and integrated it into iname module. In detail:

	* Makefile.in: added rule for iname.o because it needs
 	-DPATH_GFIND.

	* iname.c (inamAllocEntryInQueue, inamMoveEntryFromQueue,
 	inamFindDevInoInQueue): new functions to handle queue of waiting
 	resolve entries.
	(abort_on_max_syserrs, execute_find, process_find_results,
	close_find_pipe, inamProcessQueueEntry, inamProcessQueue): new
	functions implementing find subprocess creation and handling. 
	(inamEntryConsistent): new function to check whether an entry in
 	the cache is still consistent with the filesystem.
	(inamGarbageCollect): new function to remove expired entries from
 	the cache. Uses the new timestamp value of each entry.
	(inamAddLookupDoneCallback, inamRemoveLookupDoneCallback): new
 	functions to add/remove the inam_lookup_done callback function.

	* omirrk.c (process_signal): call of `process_request_queue' for
 	SIGCHLD removed, because this is now implemented with the
 	inam_lookup_done callback.
	(process_lookup_done): new function implementing lookup_done
	callback of iname module. 
	(kernel_interface_main): add lookup_done callback function.

	* request.c (exec_find, process_find_results, close_find_pipe):
 	removed.
	(ompath_to_path): uses iname module consistently to resolve inodes
	to pathnames.
	
Thu Jan 16 14:54:29 1997  Andreas Luik  <luik@ramses.pharao.s.bawue.de>

	* omirrk.h (MAX_INCOMPLETE_REQUESTS): temporarily reduced to 1
 	(instead of 4) until optimal value is determined. (Too big value
 	may result in some additional unnecessary find subprocesses.)

	* conn.c (process_daemon_message): truncate long "D" messages in
 	debug output.

Sun Jan 12 23:51:21 1997  Andreas Luik  <luik@ramses.pharao.s.bawue.de>

	* bio.c (bioAddWriteBuffer): set fd to non-blocking I/O
	(O_NONBLOCK).
	(bioRemoveWriteBuffer): restore fd flags perhaps modified in
	bioAddWriteBuffer.
	(bioMpWriteFunc): removed fcntl calls to set non-blocking I/O
	because this is done in `bioAddWriteBuffer' now. Should improve
	performance.

Tue Oct 22 02:50:29 1996  Andreas Luik  <luik@ramses.pharao.s.bawue.de>

	* Implemented file contents update.
	* op.c (opMaster): new function, generates new "D" and "E"
	protocol requests.
	(opSlave): renamed from `opPerformOperation'; process "D" and "E"
	protocol requests used to update file contents.
	(opAllocSlaveOp): new function.
	(opFreeSlaveOp): new function.
	* request.c (reqParseMessage): process new "D" and "E" protocol
	requests.
	* conn.c (connWriteMessage): removed parameter `line'.

	* bio.c (bioWrite): call mpFlush if buffer size increased to three
	times the original size.

	* mp.c (mpFlush): new function to explicitely flush output of a
	`fd'.

Thu Aug 29 02:48:40 1996  Andreas Luik  <luik@ramses.pharao.s.bawue.de>

	* Makefile.in (DISTFILES): added new ChangeLog file.

	* ChangeLog: extracted "src" specific entries from ChangeLog in
	top level directory.

	* cf.c (cfFreeCmds): avoid duplicate frees by checking whether
 	pointers of next cmd are the same as the current and skipping the
 	free if true. Fixes endless loop problem on Linux upon SIGTERM.

	* omirrd.c (cleanup): call `cfUnsetVars' with parameter set to
 	true to really unset *all* variables.

Thu Aug 22 14:41:51 1996  Andreas Luik  <luik@ramses.pharao.s.bawue.de>

	* omirrd.c (process_signal): configfile may no longer be
	specified as dash "-" to read from stdin, removed check.
	* cfparse.y (cfParse): likewise.

	* omirrd.c (cleanup): try to free all allocated memory if
	compiled with -DDEBUG to simplify searching for memory leaks with
	a debug malloc library or purify.

	* Fixed bug where after a rename operation of an open file the old
	filename was used for synchronization due to an inconsistency in
	the inode-to-name cache.

	* omirrk.c (process_request_queue): call new
	reqProcessKernelRequest function.

	* request.c (reqProcessKernelRequest): new function to handle
	requests specific to omirrk.

	* iname.c (inamRename): new function to update inode-to-name
	cache.
	* iname.c (inamRemove): likewise
	* iname.c (inamFindName): likewise

Wed Aug 21 18:51:17 1996  Andreas Luik  <luik@ramses.pharao.s.bawue.de>

	* omirrd.c (handle_sigchld): replaced wait() with non-blocking
	waitpid() or wait3() call, added loop to catch all existed
	children. This is required because several existing processes may
	result in only one SIGCHLD signal.
	* omirrk.c (handle_sigchld): likewise.

	* mp.c (jmp_sig_env_valid): declare as `volatile'.
	(jmp_sig_env_valid): try to keep this variable set as short as
	possible to reduce probability of race condition in
	`mpSignalHandler' (see comment there).
	(mpSignalHandler): increase signal counter only if callback is
	installed.

