2009-05-04  Guillaume Chazarain <guichaz@gmail.com>

	* NEWS, THANKS, iotop.1, iotop/ui.py: Added --quiet

2009-05-03  Guillaume Chazarain <guichaz@gmail.com>

	* NEWS, THANKS, iotop.1, iotop/ui.py: Added --time

2009-05-02  Guillaume Chazarain <guichaz@gmail.com>

	* NEWS, iotop.1, iotop/data.py, iotop/ui.py: Added the -k,
	--kilobytes option

2009-05-02  Guillaume Chazarain <guichaz@gmail.com>

	* MANIFEST.in, setup.py: Upgrade setuptools from 0.6c6 to 0.6c9

2009-03-31  Guillaume Chazarain <guichaz@gmail.com>

	* MANIFEST.in, release.sh, setup.cfg: Include a ChangeLog in the
	release

2009-03-30  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/data.py: Put kernel threads between square brackets

2009-03-30  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/ui.py: Properly sanitize the value in the error report

2009-03-30  Guillaume Chazarain <guichaz@gmail.com>

	* NEWS, iotop.1, iotop/data.py, iotop/ui.py: - Added the --accumulated option to show the accumulated traffic
	instead of the current bandwidth (dynamically toggled with 'a') - Resist to process dying during the taskstats retrieval - Adjusted column headers

2009-03-29  Guillaume Chazarain <guichaz@gmail.com>

	* NEWS: Document some recent changes

2009-03-29  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/data.py, iotop/ui.py, iotop/vmstat.py: - Manage a two level tree of processes: o with --processes:
	[tgids...] -> [tid...] o without: [tids...] -> [tid] => This handles
	nicely the case where a thread dies during a sampling period and we
	should drop its stats.  - Don't cache the ioprio as it may change - Get the total I/O bandwidth from /proc/vmstat instead of summing
	it, as we can count some of it twice (ntfs-3g, nfsd...)

2009-03-29  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/ui.py: Added --profile

2009-03-29  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/data.py: Don't crash when a thread just disappeared

2009-03-29  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/data.py, iotop/ui.py: Better UID detection: read it from
	stat(/proc/PID) instead of /proc/PID/status and cache it only if not
	running as root as the process may setuid().  Rewrite
	check_if_valid() to is_monitored().  Also re-read /proc/PID/status
	if needed when re-reading /proc/PID/cmdline.

2009-01-31  Guillaume Chazarain <guichaz@gmail.com>

	* THANKS, iotop/ui.py: From: Ryan Lovett <ryan@stat.berkeley.edu>
	When running in batch mode, iotop doesn't flush its output so if
	you're writing to a file, you won't see anything (e.g. via 'tail
	-f') until iotop terminates

2008-12-29  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/data.py: Add a meaningful __repr__()

2008-12-29  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/data.py: If a new pinfo() is successfully created but we
	cannot get its taskstats, it will not have a .ioprio field, so it
	must be garbage collected. So, initialize .mark to False so that
	incompletely built objects are garbage collected.  Traceback (most recent call last):   File "./iotop.py", line 11, in <module>     main()   File "/home/g/iotop/iotop/ui.py", line 271, in main     curses.wrapper(run_iotop, options)   File "/usr/lib/python2.5/curses/wrapper.py", line 44, in wrapper     return func(stdscr, *args, **kwds)   File "/home/g/iotop/iotop/ui.py", line 226, in run_iotop     ui.run()   File "/home/g/iotop/iotop/ui.py", line 97, in run     self.process_list.duration)   File "/home/g/iotop/iotop/ui.py", line 195, in refresh_display     lines = self.get_data()   File "/home/g/iotop/iotop/ui.py", line 183, in get_data     return map(format, processes)   File "/home/g/iotop/iotop/ui.py", line 167, in format     line = '%5d %4s %-8s %11s %11s %7s %7s ' % (p.pid, p.ioprio,
	AttributeError: 'pinfo' object has no attribute 'ioprio'

2008-12-28  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/data.py: The I/O priority can be dynamically changed, so we
	must re-fetch it every time.

2008-12-28  Guillaume Chazarain <guichaz@gmail.com>

	* iotop.1, iotop/ui.py: Added the 'p' key to dynamically toggle the
	--processes option

2008-12-25  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/ui.py: The interactive control 'O' is the same as 'o'.

2008-12-25  Guillaume Chazarain <guichaz@gmail.com>

	* iotop.1, iotop/data.py, iotop/ioprio.py, iotop/ui.py: Added
	support for showing the I/O priority

2008-12-23  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/ui.py: More verbose error handling for this exception:
	Traceback (most recent call last):  File "./iotop.py", line 11, in <module>    main()  File "/src/iotop/iotop/iotop/ui.py", line 249, in main    curses.wrapper(run_iotop, options)  File "/usr/lib64/python2.5/curses/wrapper.py", line 44, in wrapper    return func(stdscr, *args, **kwds)  File "/src/iotop/iotop/iotop/ui.py", line 205, in run_iotop    ui.run()  File "/src/iotop/iotop/iotop/ui.py", line 95, in run    self.process_list.duration)  File "/src/iotop/iotop/iotop/ui.py", line 198, in refresh_display    self.win.addstr(i + 2, 0, lines[i].encode('utf-8'))
	_curses.error: addstr() returned ERR

2008-11-16  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/ui.py: Also keep only 2 decimal digits when printing bytes
	per second

2008-09-07  Guillaume Chazarain <guichaz@gmail.com>

	* NEWS, iotop/version.py: Version bump and mention that -P is now
	fully implemented

2008-09-07  Guillaume Chazarain <guichaz@gmail.com>

	* iotop.1, iotop/ui.py: Clarify -p help text, and cosmetically add a
	terminating '.'.

2008-09-07  Guillaume Chazarain <guichaz@gmail.com>

	* iotop.1: iotop is a mix of top(1) and vmstat(1)

2008-09-07  Guillaume Chazarain <guichaz@gmail.com>

	* iotop.1, iotop/data.py: Precisely document required kernel options
	http://bugs.debian.org/497360

2008-09-06  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/data.py: Reimplement -P without using the half implemented
	TASKSTATS_CMD_ATTR_TGID

2008-09-06  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/data.py, iotop/ui.py: Cleanup: introduce a Stats class to
	aggregate the useful output from taskstats insteaf of using a dict.

2008-08-18  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/data.py: It seems the Name: field can sometimes be empty.
	http://bugs.debian.org/492568

2008-08-18  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/data.py: Cosmetic

2008-07-07  Guillaume Chazarain <guichaz@gmail.com>

	* NEWS, iotop/version.py: The new features list is not that long

2008-06-24  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/data.py: Also handle invalid UTF-8

2008-06-23  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/ui.py: Unlike insstr, addstr is picky about lines wider than
	the terminal.

2008-06-23  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/data.py, iotop/ui.py: Try harder at handling UTF-8

2008-06-18  Guillaume Chazarain <guichaz@gmail.com>

	* NEWS, THANKS, iotop/data.py, iotop/ui.py: UTF-8 strings are now
	correctly handled.

2008-06-18  Guillaume Chazarain <guichaz@gmail.com>

	* NEWS, iotop/version.py: Bump version

2008-05-28  Guillaume Chazarain <guichaz@gmail.com>

	* iotop.1: Fix for

	http://lintian.debian.org/reports/tags/hyphen-used-as-minus-sign.html

2008-05-23  Guillaume Chazarain <guichaz@gmail.com>

	* MANIFEST.in, install-rpm.sh, setup.cfg, setup.py: Package the man
	page

2008-05-22  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/ui.py: Reordered the option like in the man page, as it's a
	more sensible ordering

2008-05-22  Guillaume Chazarain <guichaz@gmail.com>

	* THANKS, iotop.1: Added a man page

2008-05-22  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/ui.py: Safer color terminal handling

2008-05-22  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/ui.py: Stop flickering during refresh

2008-05-22  Guillaume Chazarain <guichaz@gmail.com>

	* NEWS, iotop/data.py, iotop/ui.py: Added workaround for missing
	ac_etime in TASKSTATS_CMD_ATTR_TGID

2008-04-20  Guillaume Chazarain <guichaz@gmail.com>

	* NEWS: Typo

2008-04-20  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/ui.py: Document the 'o' key.

2008-04-20  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/ui.py: Consistency in the grammar

2008-04-20  Guillaume Chazarain <guichaz@gmail.com>

	* iotop/ui.py: Filter processes to display before trimming them to
	avoid removing processes that would be displayed after the trimming.
	For example, sorting by PID could place I/O active processes at the
	end, but we don't want to delete them as they would be shown anyway
	is -o is used.

2008-04-06  Guillaume Chazarain <guichaz@gmail.com>

	* NEWS, iotop/ui.py: Typing 'p' dynamically toggle the --only option

2008-03-20  Guillaume Chazarain <guichaz@gmail.com>

	* bin/iotop: Detect unsuccessful attempts at running an uninstalled
	iotop

2008-03-14  Guillaume Chazarain <guichaz@gmail.com>

	* iotop.py, run-iotop: Let's use the obvious filename

2008-03-10  Guillaume Chazarain <guichaz@gmail.com>

	* release.sh: Remove blank line

2008-03-10  Guillaume Chazarain <guichaz@gmail.com>

	* release.sh: Added release script

2008-03-09  Guillaume Chazarain <guichaz@yahoo.fr>

	* MANIFEST.in, bin/iotop, setup.cfg, setup.py: Added packaging
	information

2008-03-09  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop/ui.py, iotop/version.py: Extracted out version number

2008-03-09  Guillaume Chazarain <guichaz@yahoo.fr>

	* COPYING: Added GPLv2 COPYING file

2008-03-09  Guillaume Chazarain <guichaz@yahoo.fr>

	* THANKS: Added THANKS file

2008-03-09  Guillaume Chazarain <guichaz@yahoo.fr>

	* .gitignore: Ignore byte compiled files

2008-03-09  Guillaume Chazarain <guichaz@yahoo.fr>

	* NEWS: Added NEWS file

2008-03-09  Guillaume Chazarain <guichaz@yahoo.fr>

	* genetlink.py, iotop.py, iotop/__init__.py, iotop/data.py,
	iotop/genetlink.py, iotop/netlink.py, iotop/ui.py, netlink.py,
	run-iotop: Code reorganization

2008-03-05  Guillaume Chazarain <guichaz@yahoo.fr>

	* genetlink.py, iotop.py, netlink.py: Instead of copy/pasting
	pynl80211 in iotop.py, keep it in separate files

2008-03-05  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Update e-mail and copyright information

2008-03-05  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Reading the cmdline of a dead process raises an
	exception too.  Reported by Roland Kletzing <devzero@web.de>

2008-03-02  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Skip the dirname only when the cmdline starts with an
	absolute path

2008-01-20  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Fix the typo with the right correction this time

2008-01-20  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Simplify help generation

2008-01-18  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Bump version

2008-01-18  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Removed embedded history comments as it is now in git.

2008-01-18  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Added --only as suggested by Iain Lea <iain@bricbrac.de>

2008-01-18  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Fix typo, reported by Iain Lea <iain@bricbrac.de>

2007-12-19  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Tolerate misconfigured terminals

2007-09-30  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Fixed -b

2007-08-26  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Document taskstats bug:
	http://lkml.org/lkml/2007/8/2/185

2007-08-25  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Handle terminal resizing

2007-08-25  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: More accurate cutting of the command line

2007-08-19  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: handle empty process list

2007-08-19  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Fix "-P -p NOT_A_TGID", optimize -p

2007-08-13  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Handle short replies, and fix bandwidth calculation when
	delay != 1s

2007-07-23  Guillaume Chazarain <guichaz@yahoo.fr>

	* iotop.py: Added support for taskstats version > 4 in iotop.py

2007-07-15  Guillaume Chazarain <guichaz@yahoo.fr>

	* Initial import of iotop

