Enhanced partition statistics: sysfs
PATCH 6/8 Enhanced partition statistics: sysfs
Reports enhanced partition statistics in sysfs.
Signed-off-by Jerome Marchand <[email protected]>
--- check.c | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-)
fs/partitions/check.c +21 -5
@@ -254,11 +254,27 @@ static ssize_t part_size_read(struct hd_ {return sprintf (page,"%llu\n" ,(unsigned long long )p->nr_sects); } -static ssize_t part_stat_read (struct hd_struct * p,char *page) +static ssize_t part_stats_read (struct hd_struct * p,char *page) { -return sprintf (page,"%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 (page, +"%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))); }static struct part_attribute part_attr_uevent = { .attr = {.name ="uevent" , .mode =S_IWUSR },
@@ -278,7 +294,7 @@ static struct part_attribute part_attr_s };static struct part_attribute part_attr_stat = { .attr = {.name ="stat" , .mode =S_IRUGO }, - .show = part_stat_read + .show = part_stats_read };#ifdef CONFIG_FAIL_MAKE_REQUEST