Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[linux-2.6/verdex.git] / include / linux / task_io_accounting.h
blob44d00e9cceea551256df7428be8856e719d04ef1
1 /*
2 * task_io_accounting: a structure which is used for recording a single task's
3 * IO statistics.
5 * Don't include this header file directly - it is designed to be dragged in via
6 * sched.h.
8 * Blame akpm@osdl.org for all this.
9 */
11 #ifdef CONFIG_TASK_IO_ACCOUNTING
12 struct task_io_accounting {
14 * The number of bytes which this task has caused to be read from
15 * storage.
17 u64 read_bytes;
20 * The number of bytes which this task has caused, or shall cause to be
21 * written to disk.
23 u64 write_bytes;
26 * A task can cause "negative" IO too. If this task truncates some
27 * dirty pagecache, some IO which another task has been accounted for
28 * (in its write_bytes) will not be happening. We _could_ just
29 * subtract that from the truncating task's write_bytes, but there is
30 * information loss in doing that.
32 u64 cancelled_write_bytes;
34 #else
35 struct task_io_accounting {
37 #endif