Enhanced partition statistics: sysfs
authorJerome Marchand <jmarchan@redhat.com>
Fri, 8 Feb 2008 10:04:55 +0000 (11:04 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Fri, 8 Feb 2008 11:41:58 +0000 (12:41 +0100)
Reports enhanced partition statistics in sysfs.

Signed-off-by: Jerome Marchand <jmarchan@redhat.com>
fs/partitions/check.c

index f2ec7f1b0ec59805c4c622be05b3c969d1a075da..950bdb4b8f53a679ce3aab3bdae2b9337ec7b3f9 100644 (file)
@@ -216,9 +216,25 @@ static ssize_t part_stat_show(struct device *dev,
 {
        struct hd_struct *p = dev_to_part(dev);
 
-       return sprintf(buf, "%8u %8llu %8u %8llu\n",
-                      p->ios[0], (unsigned long long)p->sectors[0],
-                      p->ios[1], (unsigned long long)p->sectors[1]);
+       preempt_disable();
+       part_round_stats(p);
+       preempt_enable();
+       return sprintf(buf,
+               "%8lu %8lu %8llu %8u "
+               "%8lu %8lu %8llu %8u "
+               "%8u %8u %8u"
+               "\n",
+               part_stat_read(p, ios[READ]),
+               part_stat_read(p, merges[READ]),
+               (unsigned long long)part_stat_read(p, sectors[READ]),
+               jiffies_to_msecs(part_stat_read(p, ticks[READ])),
+               part_stat_read(p, ios[WRITE]),
+               part_stat_read(p, merges[WRITE]),
+               (unsigned long long)part_stat_read(p, sectors[WRITE]),
+               jiffies_to_msecs(part_stat_read(p, ticks[WRITE])),
+               p->in_flight,
+               jiffies_to_msecs(part_stat_read(p, io_ticks)),
+               jiffies_to_msecs(part_stat_read(p, time_in_queue)));
 }
 
 #ifdef CONFIG_FAIL_MAKE_REQUEST