diff options
author | Jerome Marchand <jmarchan@redhat.com> | 2008-02-08 11:04:55 +0100 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2008-02-08 12:41:58 +0100 |
commit | 34e8beac92c27d292938065f8375842d2840767c (patch) | |
tree | c2bedbe4901dea130ffec0a1716f4181a087e73b /fs/partitions | |
parent | a890d62b9e8743341f62548104d1ac29fa8a5a88 (diff) | |
download | op-kernel-dev-34e8beac92c27d292938065f8375842d2840767c.zip op-kernel-dev-34e8beac92c27d292938065f8375842d2840767c.tar.gz |
Enhanced partition statistics: sysfs
Reports enhanced partition statistics in sysfs.
Signed-off-by: Jerome Marchand <jmarchan@redhat.com>
Diffstat (limited to 'fs/partitions')
-rw-r--r-- | fs/partitions/check.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/fs/partitions/check.c b/fs/partitions/check.c index f2ec7f1..950bdb4 100644 --- a/fs/partitions/check.c +++ b/fs/partitions/check.c @@ -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 |