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 <[email protected]>
Signed-off-by: Mike Snitzer <[email protected]>
Cc: [email protected] # 4.2
This commit is contained in:
Mikulas Patocka 2015-08-18 16:26:16 -04:00 • committed by Mike Snitzer
commit bd49784fd1
3 changed files with 19 additions and 3 deletions

View file

@ -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);