2006-12-11  Martin Hunt  <hunt@redhat.com>

	* symbols.c (get_sections): Set buffer sizes to large enough
	sizes to hold all possible values, but also include checks in case
	we are wrong.

2006-11-15  Martin Hunt  <hunt@redhat.com>

	* symbols.c (do_kernel_symbols): Add sizeof(long) to sym_base
	to preserve 64-bit alignment.

2006-11-09  Martin Hunt  <hunt@redhat.com>

	* librelay.c: Change all references to transport messages
	to use the new names with "_stp" prefix.
	(stp_main_loop): For STP_SYMBOLS, check pointer size and 
	endianess to confirm staprun is compatible with the kernel.

	* librelay.h: Move a bunch of common includes here.
	* stpd.c: Cleanup includes.
	* symbols.c: Ditto.
	
2006-11-02  Martin Hunt  <hunt@redhat.com>

	* symbols.c: New file. Sends symbol and module information to
	the systemtap module.
	
	* librelay.c (stp_main_loop): Add STP_MODULE and STP_SYMBOLS
	message handling.

	* librelay.h: Add some new function prototypes.

	* Makefile (CFLAGS): Set to be the same as for building modules.
	Added symbols.c to sources.

2006-10-10  Tom Zanussi  <zanussi@us.ibm.com>
	
	* librelay.c (merge_output): Add check for min when writing
	output, otherwise last write happens twice.

2006-09-26  David Smith  <dsmith@redhat.com>

	* Makefile: Changed 'stpd' references to 'staprun'.
	* librelay.c: Ditto.
	* stpd.c: Ditto.
	
2006-09-25  Tom Zanussi  <zanussi@us.ibm.com>
	
	* librelay.c (kill_percpu_threads): Remove printf.
	(wait_for_percpu_threads): New.
	(process_subbufs): Remove processing, processing_mutex, exit
	thread if exiting flag set.
	(read_last_buffers): Removed.
	(cleanup_and_exit): Remove call to read_last_buffers, wait for
	threads to read flushed buffers instead.
	(stp_main_loop): Remove mutex init.	

2006-09-22  Tom Zanussi  <zanussi@us.ibm.com>
	
	* librelay.c (init_relayfs): Cleanup if stp_check fails.

2006-09-19  Tom Zanussi  <zanussi@us.ibm.com>
	
	* librelay.c (init_relayfs): Add debugfs path to relay files and
	add new systemtap directory to path.
	(init_stp): rmmod module on failure.
	(merge_output): Remove debugging printfs left in code.
	(close_relay_files): Clear relay_file descriptor after close.
	(cleanup_and_exit): Allow cleanup and exit even if there was an
	error opening relay files.
	(stp_main_loop): Call cleanup_and_exit() if init_relayfs() fails.

2006-09-18  Martin Hunt  <hunt@redhat.com>

	* stpd.c (usage): Remove "-m" option.
	(main): Print warning if "-m" is used.
	* librelay.c (merge_output): Rewrite to handle
	new format that support binary.
	(stp_main_loop): Read merge option from the
	transport info message.

2006-09-13  Martin Hunt  <hunt@redhat.com>

	* librelay.c (init_relayfs): Exec stp_check and find
	relay_filebase.

	* librelay.h (stp_main_loop): Fix declaration of init_stp().

	* stpd.c (usage): Remove "-r" option.
	(main): Don't find stpd_filebase and don't send it to init_stp().
	

2006-08-02  Tom Zanussi  <zanussi@us.ibm.com>

	* stpd.c (main): Use modname rather than driver_pid in
	stpd_filebase.

2006-07-20  Martin Hunt  <hunt@redhat.com>

	* librelay.c (stp_main_loop): If module doesn't start, kill any
	target command.

2006-06-23  Tom Zanussi  <zanussi@us.ibm.com>

	* librelay.c (cleanup_and_exit): Close relay files even	if
	not merging.

2006-06-13  Martin Hunt  <hunt@redhat.com>

	* librelay.c (start_cmd): Rewrite using sigwait() to eliminate
	a race.

2006-05-18  Martin Hunt  <hunt@redhat.com>

	* librelay.c (stp_main_loop): Set output to always be line
	buffered.

2006-04-08  Martin Hunt  <hunt@redhat.com>

	* librelay.c (stp_main_loop): Write with fwrite() instead 
	of fputs() so we can write binary data.

2006-04-05  Martin Hunt  <hunt@redhat.com>
	* librelay.c (merge_output): Remove ANSI codes and write
	warning to stderr.

2006-04-05  Martin Hunt  <hunt@redhat.com>	
	* librelay.c (merge_output): Set the output filename if necessary.
	(merge_output): 

	* stpd.c (main): Don't reset output_filename just because 
	relayfs is possible. Move that code to librelay.c.

2006-04-04  Roland McGrath  <roland@redhat.com>

	* stpd.c (main): Cast f_type when comparing; type differs by machine.

2006-04-04  Tom Zanussi  <zanussi@us.ibm.com>

	* stpd.c (main): Check that /mnt/relay is actually relayfs.

2006-03-15  Tom Zanussi  <zanussi@us.ibm.com>

	* stpd.c (main): Add runtime check for relayfs vs relay-on-proc.

2006-03-06  Martin Hunt  <hunt@redhat.com>

	* librelay.c (start_cmd): Set proper uid/gid before execing
	command.
	(system_cmd): New function.
	(cleanup_and_exit): Wait for any child processes to complete.
	(stp_main_loop): Recognize STP_SYSTEM message.

	* stpd.c (main): Add support for "-u username".

2006-02-25  Martin Hunt  <hunt@redhat.com>

	* librelay.c (init_stp): Better error handling and cleanup.

2006-02-23  Frank Ch. Eigler  <fche@elastic.org>

	PR 1304
	* stpd.c (mdooptions): New array.
	(main): Populate it with leftover arguments.
	* librelay.c (init_stp): Pass it to execve().

2005-12-08  Frank Ch. Eigler  <fche@elastic.org>

	PR 1937
	* stpd.c (main): Support new "-d" option.
	(usage): Document it.
	* librelay.c (driver_poll): New function to react to death of
	driver process.
	(stp_main_loop): Call it if "-d PID" given.  Treat SIGHUP like others.

2005-10-19  Tom Zanussi  <zanussi@us.ibm.com>

	* librelay.c: Move output_file var to stpd.c.
	(stp_main_loop): If the output_file option was specified,
	and streaming mode is being used, send output to the file
	instead of stdout.  If !streaming, send output to the file
	instead of probe.out.
	* stpd.c (usage): Add comment for -o option.
	(main): Add -o option.

2005-10-19  Tom Zanussi  <zanussi@us.ibm.com>

	* librelay.c (merge_output): Switch to binary TIMESTAMP.
	* stp_dump.c (main): Switch to binary TIMESTAMP.
	* stp_merge.c (main): Switch to binary TIMESTAMP.

2005-10-14  Tom Zanussi  <zanussi@us.ibm.com>

	PR 1476
	* librelay.c: Add flag for buffer processing.
	(reader_thread): Disable/enable cancel state around buffer
	processing, and update flag to show we're busy processing.
	(cleanup_and_exit): Wait for any threads busy processing.
	(stp_main_loop): Initialize processing mutex.

2005-09-06  Martin Hunt  <hunt@redhat.com>

	* librelay.c: Remove all USE_PROCFS ifdefs.
	(sig_usr): Signal handler for SIGUSR1.
	(start_cmd): New function to handle "-c" option, forks()
	off a new process then waits for SIGUSR1 to exec it.
	(init_stp): Call start_cmd().
	(stp_main_loop): Set a signal handler for SIGCHLD.

	* stpd.c (main): Add "-t" and "-c" options.
	(usage): Update with new options.

2005-08-29  Martin Hunt  <hunt@redhat.com>

	* stpd.c main): Add enable_relayfs flag.
	Turn it off with "-r".

2005-08-24  Martin Hunt  <hunt@redhat.com>

	* librelay.c (sigproc): Removed the "Exiting..."
	message for now.

2005-08-24  Martin Hunt  <hunt@redhat.com>

	* librelay.c (sigproc): Reestablish signal handler so
	impatient people don't hit ^C twice and terminate the
	program before it saves the data and removes the module.
	Also print a message to stderr that it is exiting.
	(stp_main_loop): Write OOB data (warnings, errors, etc)
	to stderr instead of stdout.
	* librelay.h: Write debug info to stderr.
	* Makefile: add librelay.h to dependencies.

2005-08-23  Martin Hunt  <hunt@redhat.com>

	* librelay.c (merge_output): Don't add an extra \n.

2005-08-23  Martin Hunt  <hunt@redhat.com>

	* librelay.c (read_last_buffers): New function. Directly grab the
	last buffers.
	(info_pending): Deleted.
	(request_last_buffers): Deleted.

2005-08-22  Martin Hunt  <hunt@redhat.com>

	* Makefile (debug): Add debug target.
	* librelay.h (dbug): Define.
	* librelay.c: Enable some dbug lines.

2005-08-19  Martin Hunt  <hunt@redhat.com>

	* librelay.c (reader_thread): Check the return value for write().

2005-08-19  Frank Ch. Eigler  <fche@elastic.org>

	* librelay.c (modpath): New global.  Use it for insmod only.
	* stpd.c (main): Set both modpath and modname, to support
	modules specified by full path name.

2005-08-19  Martin Hunt  <hunt@redhat.com>

	* stpd.c (main): Simplify buffer size code.
	* librelay.c: Major changes to support procfs instead of netlink.

2005-08-03  Tom Zanussi  <trz@us.ibm.com>

	* librelay.c: Track subbuf info requests/replies
	so we know unequivocally when it's ok to do final
	processing.
	(reader_thread): Remove buffer-full warning.

2005-08-03  Martin Hunt  <hunt@redhat.com>
	* librelay.c (init_stp): Change variable name to eliminate shadow warning.

2005-08-03  Martin Hunt  <hunt@redhat.com>
	* librelay.c (open_control_channel): Set the receive buffer
	to 512K, or the max allowed.

	* stpd.c: Remove "-n" subbug option and change "-b" option
	so you can specify buffering in different ways. Add a verbose option.
	Exec the "stp_check" script.

2005-08-01  Frank Ch. Eigler  <fche@redhat.com>

	* librelay.c: Correct fwrite api usage.
	* all: Correct copyright holder name.

2005-08-01  Martin Hunt  <hunt@redhat.com>

	* librelay.h: Get structs and enums from
	../transport/transport_msgs.h  to eliminate duplication.

	* librelay.c (send_request): Retry if send fails.
	(open_relayfs_files): Use fopen() instead of open() for the
	percpu tmpfiles.
	(request_last_buffers): Just send cpu number for STP_BUF_INFO request.
	(reader_thread): Ditto.
	(process_subbufs): Use fwrite_unlocked() instead of write().
	(sigchld): Removed.
	(init_stp): Go back to using system() instead of fork and exec
	to load module. When done, send a TRANSPORT_INFO request.
	(cleanup_and_exit): Change parameter to simple flag to
	indicate if the module needs removing.
	(sigproc): Remove complicated logic and just send STP_EXIT.
	(stp_main_loop): When receiving STP_TRANSPORT_INFO, set
	the local params and reply with a STP_START.  When
	receiving STP_START, there was an error, so cleanup and exit.

	* stpd.c (main): Added new options to set number of
	buffers and their size.

2005-07-29  Roland McGrath  <roland@redhat.com>

	* librelay.c (process_subbufs): Use unsigned for I.
	(sigproc): Add  __attribute__((unused)) on parameter.
	(sigchld): Likewise.  Avoid shadowing global variable name.
	(stp_main_loop): Add a cast.

2005-07-18  Martin Hunt  <hunt@redhat.com>

	* stp_merge.c (main): Fix dropped count calculation.

2005-07-14  Tom Zanussi  <zanussi@us.ibm.com>

	* librelay.c (reader_thread): Add missing pthread_mutex_lock

2005-07-14  Frank Ch. Eigler  <fche@redhat.com>

	* stpd.c (main): Pass !quiet mode to init_stp().
	* librelay.c (init_relayfs): Be quiet if !print_totals.

2005-07-13  Martin Hunt  <hunt@redhat.com>

	* stpd.c (usage): Fix usage string.

	* librelay.c (init_stp): Change last arg to NULL, not 0.

2005-07-08  Martin Hunt  <hunt@redhat.com>

	* librelay.c (sigchld): Signal handler to detect
	completion of module loading.
	(init_stp): Use fork/exec instead of system() so
	we can get async signal of module load success/failure.
	(cleanup_and_exit): New function.
	(sigproc): If module is not loaded, don't send message to it.
	(stp_main_loop): Call cleanup_and_exit() when STP_EXIT
	is received. Don't send a request for the transport
	mode. The module will send notification to the daemon
	when it is ready.

	* stpd.c (main): Don't print message until module
	is loaded.

2005-07-01  Martin Hunt  <hunt@redhat.com>

	* librelay.c: Removed the color coding of cpu output.

2005-06-28  Martin Hunt  <hunt@redhat.com>

	* librelay.c (merge_output): Use unlocked stdio
	to improve speed.

	* stp_merge.c: New file.

	* Makefile: Add stp_merge.

2005-06-27  Martin Hunt  <hunt@redhat.com>

	* stpd.c (main): Add new command line arg, "-m"
	to disable the per-cpu merging.

	* librelay.c (merge_output): Replacement for sort_output().
	Efficiently merges per-cpu streams.


2005-06-20  Tom Zanussi  <zanussi@us.ibm.com>

	* librelay.c: Large refactoring, important changes are
	added transport_mode command, for relayfs transport
	display results only when probe completes and/or write
	output file, merge, sort and delete the per-cpu files
	in postprocessing, refactor so that relayfs files aren't
	created until transport command received, removed sigalrm,
	read the final subbuffers on exit

	* stpd.c: Remove all command-line args except for -p
	and -q as well as all code related to buffer sizes.

	* librelay.h: Add transport mode command and struct.

2005-05-16  Martin Hunt  <hunt@redhat.com>

	* librelay.c (sigproc): If STP_EXIT send fails, keep retrying
	every 10ms.
	(init_stp): Don't set n_subbufs and subbuf_size params.
