* I/O Grind

    This is the start of an I/O simulator & rendering tool. To get an
instant idea of what iogrind can show you type:

	$ ./autogen.sh
	$ make demo

    However, in order to use it in anger, you need several things:
first a trace of your file-system (you only require this once),
requires read access to the raw device, either get in the 'disk'
group, or run this as root:

	$ ext2dump /dev/sda1 > sda1.xml # for example

    Then you need to take a trace of your target application(s)
using the valgrind iogrind plugin:

	$ valgrind --tool=iogrind --log-file-exactly=/tmp/test.prf <test-app> 

    Now you can see what is going on in your app:

	$ mono iogrind-gui.exe --fsmodel=sda1.xml /tmp/test.prf

    And have a poke around.

Caveat Investor: Beware - iogrind presents an approximation, not an
accurate picture, it can be helpful in some cases, but don't believe
everything you read, YMMV, don't spend hours optimising, without
sanity checking what you're doing.

* Mailing list:

    iogrind-dev@lists.go-oo.org
    http://lists.go-oo.org/listinfo.cgi/iogrind-dev-go-oo.org

* Wiki

    http://live.gnome.org/iogrind

* Git repository:

    http://www.gnome.org/~michael/git/iogrind.git/
    http://www.gnome.org/~michael/git/valgrind.git/

* Future plans

checkout doc/notes.txt for wild ideas.


* Other people's code

We include the source for: DiskSim:
    + http://www.pdl.cmu.edu/DiskSim/
Since it appears un-maintained.


* Hacking notes:

** Coding style

Code committed here should be formatted according to the Microsoft guidelines:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconclassnamingguidelines.asp

As summarised here:

http://blogs.msdn.com/brada/articles/361363.aspx

With the following elaborations:
	+ all instance member access should
	  use 'this.<member>' to disambiguate.

** To hack happily in the tree you need to do this in the toplevel.

export IOGRIND_HACKER=1
export DISKSIM_PATH=`pwd`/disksim-3.0/valid
export LD_LIBRARY_PATH=`pwd`/disksim-3.0/src/.libs/
