Re: [PATCH] blktrace: correct remap names

From: Li Zefan
Date: Mon May 04 2009 - 01:46:41 EST


> Subject: [PATCH] blktrace: correct remap names
>
> This attempts to clarify names utilized during block I/O remap operations
> (partition, volume manager). It correctly matches up the /from/ information for both device & sector. This takes in the concept from osaki Motohiro and extends it to include better naming for the "device_from" field.
>

I also noticed this..

> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
> Cc: Li Zefan <lizf@xxxxxxxxxxxxxx>
> Cc: Jens Axboe <jens.axboe@xxxxxxxxxx>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Signed-off-by: Alan D. Brunelle <alan.brunelle@xxxxxx>
> ---
> include/linux/blktrace_api.h | 4 ++--
> include/trace/block.h | 4 ++--
> kernel/trace/blktrace.c | 21 +++++++++++----------
> 3 files changed, 15 insertions(+), 14 deletions(-)
>
> diff --git a/include/linux/blktrace_api.h b/include/linux/blktrace_api.h
> index d960889..da1a14e 100644
> --- a/include/linux/blktrace_api.h
> +++ b/include/linux/blktrace_api.h
> @@ -116,9 +116,9 @@ struct blk_io_trace {
> * The remap event
> */
> struct blk_io_trace_remap {
> - __be32 device;
> __be32 device_from;
> - __be64 sector;
> + __be32 device_to;
> + __be64 sector_from;
> };
>

If we are really fine with this change, then:

Reviewed-by: Li Zefan <lizf@xxxxxxxxxxxxxx>

> enum {
> diff --git a/include/trace/block.h b/include/trace/block.h
> index 8ac945b..5b12efa 100644
> --- a/include/trace/block.h
> +++ b/include/trace/block.h
> @@ -70,7 +70,7 @@ DECLARE_TRACE(block_split,
>
> DECLARE_TRACE(block_remap,
> TP_PROTO(struct request_queue *q, struct bio *bio, dev_t dev,
> - sector_t to),
> - TP_ARGS(q, bio, dev, to));
> + sector_t from),
> + TP_ARGS(q, bio, dev, from));
>
> #endif
> diff --git a/kernel/trace/blktrace.c b/kernel/trace/blktrace.c
> index 6eaef3b..1492d50 100644
> --- a/kernel/trace/blktrace.c
> +++ b/kernel/trace/blktrace.c
> @@ -817,7 +817,7 @@ static void blk_add_trace_split(struct request_queue *q, struct bio *bio,
> *
> **/
> static void blk_add_trace_remap(struct request_queue *q, struct bio *bio,
> - dev_t dev, sector_t to)
> + dev_t dev, sector_t from)
> {
> struct blk_trace *bt = q->blk_trace;
> struct blk_io_trace_remap r;
> @@ -825,9 +825,9 @@ static void blk_add_trace_remap(struct request_queue *q, struct bio *bio,
> if (likely(!bt))
> return;
>
> - r.device = cpu_to_be32(dev);
> - r.device_from = cpu_to_be32(bio->bi_bdev->bd_dev);
> - r.sector = cpu_to_be64(to);
> + r.device_from = cpu_to_be32(dev);
> + r.device_to = cpu_to_be32(bio->bi_bdev->bd_dev);
> + r.sector_from = cpu_to_be64(from);
>
> __blk_add_trace(bt, bio->bi_sector, bio->bi_size, bio->bi_rw,
> BLK_TA_REMAP, !bio_flagged(bio, BIO_UPTODATE),
> @@ -997,11 +997,11 @@ static void get_pdu_remap(const struct trace_entry *ent,
> struct blk_io_trace_remap *r)
> {
> const struct blk_io_trace_remap *__r = pdu_start(ent);
> - __u64 sector = __r->sector;
> + __u64 sector_from = __r->sector_from;
>
> - r->device = be32_to_cpu(__r->device);
> r->device_from = be32_to_cpu(__r->device_from);
> - r->sector = be64_to_cpu(sector);
> + r->device_to = be32_to_cpu(__r->device_to);
> + r->sector_from = be64_to_cpu(sector_from);
> }
>
> typedef int (blk_log_action_t) (struct trace_iterator *iter, const char *act);
> @@ -1055,13 +1055,14 @@ static int blk_log_with_error(struct trace_seq *s,
>
> static int blk_log_remap(struct trace_seq *s, const struct trace_entry *ent)
> {
> - struct blk_io_trace_remap r = { .device = 0, };
> + struct blk_io_trace_remap r = { .device_from = 0, };
>
> get_pdu_remap(ent, &r);
> return trace_seq_printf(s, "%llu + %u <- (%d,%d) %llu\n",
> t_sector(ent),
> - t_sec(ent), MAJOR(r.device), MINOR(r.device),
> - (unsigned long long)r.sector);
> + t_sec(ent), MAJOR(r.device_from),
> + MINOR(r.device_from),
> + (unsigned long long)r.sector_from);

Minor nits. I think this is better:

return trace_seq_printf(s, "%llu + %u <- (%d,%d) %llu\n",
t_sector(ent), t_sec(ent),
MAJOR(r.device_from), MINOR(r.device_from),
(unsigned long long)r.sector_from);

or this:

return trace_seq_printf(s, "%llu + %u <- (%d,%d) %llu\n",
t_sector(ent),
t_sec(ent),
MAJOR(r.device_from),
MINOR(r.device_from),
(unsigned long long)r.sector_from);

> }
>
> static int blk_log_plug(struct trace_seq *s, const struct trace_entry *ent)
> --
> 1.6.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/