From: Dmitry V. Levin Date: Thu, 13 Jul 2017 12:38:51 +0000 (+0000) Subject: block: use PRINT_FIELD_* macros X-Git-Tag: v4.19~269 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=07eae54d08627ff61f951f75f1b32d7f858b3d7f;p=strace block: use PRINT_FIELD_* macros This also fixes output correctness for struct blkpg_ioctl_arg. * block.c (print_blkpg_req): Use PRINT_FIELD_D and PRINT_FIELD_XVAL. (block_ioctl): Use PRINT_FIELD_U. * tests/ioctl_block.c (main): Update expected output. --- diff --git a/block.c b/block.c index afd70980..99b76dac 100644 --- a/block.c +++ b/block.c @@ -125,16 +125,15 @@ print_blkpg_req(struct tcb *tcp, const struct_blkpg_ioctl_arg *blkpg) { struct_blkpg_partition p; - tprints("{"); - printxval(blkpg_ops, blkpg->op, "BLKPG_???"); - - tprintf(", flags=%d, datalen=%d, data=", - blkpg->flags, blkpg->datalen); + PRINT_FIELD_XVAL("{", *blkpg, op, blkpg_ops, "BLKPG_???"); + PRINT_FIELD_D(", ", *blkpg, flags); + PRINT_FIELD_D(", ", *blkpg, datalen); + tprints(", data="); if (!umove_or_printaddr(tcp, ptr_to_kulong(blkpg->data), &p)) { - tprintf("{start=%" PRId64 ", length=%" PRId64 - ", pno=%d", - p.start, p.length, p.pno); + PRINT_FIELD_D("{", p, start); + PRINT_FIELD_D(", ", p, length); + PRINT_FIELD_D(", ", p, pno); PRINT_FIELD_CSTRING(", ", p, devname); PRINT_FIELD_CSTRING(", ", p, volname); tprints("}"); @@ -239,12 +238,12 @@ MPERS_PRINTER_DECL(int, block_ioctl, struct tcb *const tcp, tprints(", "); if (umove_or_printaddr(tcp, arg, &buts)) break; - tprintf("{act_mask=%u, buf_size=%u, " - "buf_nr=%u, start_lba=%" PRIu64 ", " - "end_lba=%" PRIu64 ", pid=%u", - (unsigned)buts.act_mask, buts.buf_size, - buts.buf_nr, buts.start_lba, - buts.end_lba, buts.pid); + PRINT_FIELD_U("{", buts, act_mask); + PRINT_FIELD_U(", ", buts, buf_size); + PRINT_FIELD_U(", ", buts, buf_nr); + PRINT_FIELD_U(", ", buts, start_lba); + PRINT_FIELD_U(", ", buts, end_lba); + PRINT_FIELD_U(", ", buts, pid); return 1; } else { struct_blk_user_trace_setup buts; diff --git a/tests/ioctl_block.c b/tests/ioctl_block.c index e44c4c41..0d518643 100644 --- a/tests/ioctl_block.c +++ b/tests/ioctl_block.c @@ -154,7 +154,7 @@ main(void) blkpg->data = (void *) (unsigned long) 0xcafef00dfffffeedULL; ioctl(-1, BLKPG, blkpg); - printf("ioctl(-1, BLKPG, {%s, flags=%d, datalen=%d" + printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d" ", data=%#lx}) = -1 EBADF (%m)\n", "BLKPG_RESIZE_PARTITION", blkpg->flags, blkpg->datalen, (unsigned long) blkpg->data); @@ -169,7 +169,7 @@ main(void) blkpg->data = bp; ioctl(-1, BLKPG, blkpg); - printf("ioctl(-1, BLKPG, {%s, flags=%d, datalen=%d" + printf("ioctl(-1, BLKPG, {op=%s, flags=%d, datalen=%d" ", data={start=%lld, length=%lld, pno=%d" ", devname=\"%.*s\", volname=\"%.*s\"}})" " = -1 EBADF (%m)\n",