summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm-stats.c
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2015-08-18 16:26:16 -0400
committerMike Snitzer <snitzer@redhat.com>2015-08-18 17:20:03 -0400
commitbd49784fd1e8f42c7600fbfa206361324857f373 (patch)
tree238d475c49cc50ba1543e6692553a6a0f3b384e8 /drivers/md/dm-stats.c
parent84f8bd86cc8977c344df572169f7ec10b8188cfa (diff)
downloadlinux-stable-bd49784fd1e8f42c7600fbfa206361324857f373.tar.gz
linux-stable-bd49784fd1e8f42c7600fbfa206361324857f373.tar.bz2
linux-stable-bd49784fd1e8f42c7600fbfa206361324857f373.zip
dm stats: report precise_timestamps and histogram in @stats_list output
If the user selected the precise_timestamps or histogram options, report it in the @stats_list message output. If the user didn't select these options, no extra tokens are reported, thus it is backward compatible with old software that doesn't know about precise timestamps and histogram. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Cc: stable@vger.kernel.org # 4.2
Diffstat (limited to 'drivers/md/dm-stats.c')
-rw-r--r--drivers/md/dm-stats.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/md/dm-stats.c b/drivers/md/dm-stats.c
index 8a8b48fa901a..8289804ccd99 100644
--- a/drivers/md/dm-stats.c
+++ b/drivers/md/dm-stats.c
@@ -457,12 +457,24 @@ static int dm_stats_list(struct dm_stats *stats, const char *program,
list_for_each_entry(s, &stats->list, list_entry) {
if (!program || !strcmp(program, s->program_id)) {
len = s->end - s->start;
- DMEMIT("%d: %llu+%llu %llu %s %s\n", s->id,
+ DMEMIT("%d: %llu+%llu %llu %s %s", s->id,
(unsigned long long)s->start,
(unsigned long long)len,
(unsigned long long)s->step,
s->program_id,
s->aux_data);
+ if (s->stat_flags & STAT_PRECISE_TIMESTAMPS)
+ DMEMIT(" precise_timestamps");
+ if (s->n_histogram_entries) {
+ unsigned i;
+ DMEMIT(" histogram:");
+ for (i = 0; i < s->n_histogram_entries; i++) {
+ if (i)
+ DMEMIT(",");
+ DMEMIT("%llu", s->histogram_boundaries[i]);
+ }
+ }
+ DMEMIT("\n");
}
}
mutex_unlock(&stats->mutex);