aio: change struct iocb.aio_lio_opcode output format

* aio.c (tprint_lio_opcode): Change opcode output format to match
the kernel.
* tests/aio.c (main): Update expected output.
This commit is contained in:
Дмитрий Левин 2017-07-17 11:59:26 +00:00
parent 6fe6c27917
commit b4f790e9ac
2 changed files with 31 additions and 29 deletions

22
aio.c
View File

@ -54,21 +54,21 @@ enum iocb_sub {
};
static enum iocb_sub
tprint_lio_opcode(unsigned cmd)
tprint_lio_opcode(unsigned int cmd)
{
static const struct {
const char *name;
enum iocb_sub sub;
} cmds[] = {
{ "pread", SUB_COMMON },
{ "pwrite", SUB_COMMON },
{ "fsync", SUB_NONE },
{ "fdsync", SUB_NONE },
{ "preadx", SUB_NONE },
{ "poll", SUB_NONE },
{ "noop", SUB_NONE },
{ "preadv", SUB_VECTOR },
{ "pwritev", SUB_VECTOR },
{ "IOCB_CMD_PREAD", SUB_COMMON },
{ "IOCB_CMD_PWRITE", SUB_COMMON },
{ "IOCB_CMD_FSYNC", SUB_NONE },
{ "IOCB_CMD_FDSYNC", SUB_NONE },
{ "IOCB_CMD_PREADX", SUB_NONE },
{ "IOCB_CMD_POLL", SUB_NONE },
{ "IOCB_CMD_NOOP", SUB_NONE },
{ "IOCB_CMD_PREADV", SUB_VECTOR },
{ "IOCB_CMD_PWRITEV", SUB_VECTOR },
};
if (cmd < ARRAY_SIZE(cmds)) {
@ -76,7 +76,7 @@ tprint_lio_opcode(unsigned cmd)
return cmds[cmd].sub;
}
tprintf("%u", cmd);
tprints_comment("SUB_???");
tprints_comment("IOCB_CMD_???");
return SUB_NONE;
}

View File

@ -239,12 +239,12 @@ main(void)
if (rc != (long) nr)
perror_msg_and_skip("io_submit");
printf("io_submit(%#lx, %u, ["
"{aio_data=%#" PRI__x64 ", aio_lio_opcode=pread, aio_reqprio=11"
", aio_fildes=0, aio_buf=%p, aio_nbytes=%u, aio_offset=%"
PRI__d64 "}, "
"{aio_data=%#" PRI__x64 ", aio_lio_opcode=pread, aio_reqprio=22"
", aio_fildes=0, aio_buf=%p, aio_nbytes=%u, aio_offset=%"
PRI__d64 "}]) = %s\n",
"{aio_data=%#" PRI__x64 ", aio_lio_opcode=IOCB_CMD_PREAD"
", aio_reqprio=11, aio_fildes=0, aio_buf=%p, aio_nbytes=%u"
", aio_offset=%" PRI__d64
"}, {aio_data=%#" PRI__x64 ", aio_lio_opcode=IOCB_CMD_PREAD"
", aio_reqprio=22, aio_fildes=0, aio_buf=%p, aio_nbytes=%u"
", aio_offset=%" PRI__d64 "}]) = %s\n",
*ctx, nr,
cb[0].aio_data, data0, sizeof_data0, cb[0].aio_offset,
cb[1].aio_data, data1, sizeof_data1, cb[1].aio_offset,
@ -300,8 +300,9 @@ main(void)
sprintrc(rc));
rc = syscall(__NR_io_cancel, *ctx, cbc, ev);
printf("io_cancel(%#lx, {aio_data=%#" PRI__x64 ", aio_lio_opcode=pread"
", aio_reqprio=99, aio_fildes=-42}, %p) = %s\n",
printf("io_cancel(%#lx, {aio_data=%#" PRI__x64
", aio_lio_opcode=IOCB_CMD_PREAD, aio_reqprio=99"
", aio_fildes=-42}, %p) = %s\n",
*ctx, cbc->aio_data, ev, sprintrc(rc));
rc = syscall(__NR_io_submit, (unsigned long) 0xfacef157beeff00dULL,
@ -317,21 +318,22 @@ main(void)
rc = syscall(__NR_io_submit, *ctx, 1057L, cbvs2);
printf("io_submit(%#lx, %ld, ["
"{aio_data=%#" PRI__x64 ", aio_key=%u"
", aio_lio_opcode=%hu /* SUB_??? */, aio_fildes=%d}"
", {aio_key=%u, aio_lio_opcode=pwrite, aio_reqprio=%hd"
", aio_lio_opcode=%hu /* IOCB_CMD_??? */, aio_fildes=%d}"
", {aio_key=%u, aio_lio_opcode=IOCB_CMD_PWRITE, aio_reqprio=%hd"
", aio_fildes=%d, aio_buf=NULL"
", aio_nbytes=%" PRI__u64 ", aio_offset=%" PRI__d64
# ifdef IOCB_FLAG_RESFD
", aio_resfd=%d, aio_flags=%#x"
# endif
"}, {aio_key=%u, aio_lio_opcode=pwrite, aio_reqprio=%hd"
", aio_fildes=%d, aio_buf=%#" PRI__x64
"}, {aio_key=%u, aio_lio_opcode=IOCB_CMD_PWRITE"
", aio_reqprio=%hd, aio_fildes=%d, aio_buf=%#" PRI__x64
", aio_nbytes=%" PRI__u64 ", aio_offset=%" PRI__d64
"}, {aio_key=%u, aio_lio_opcode=pwrite, aio_reqprio=%hd"
", aio_fildes=%d, aio_buf=\"\\0\\1\\2\\3%.28s\"..."
"}, {aio_key=%u, aio_lio_opcode=IOCB_CMD_PWRITE"
", aio_reqprio=%hd, aio_fildes=%d"
", aio_buf=\"\\0\\1\\2\\3%.28s\"..."
", aio_nbytes=%" PRI__u64 ", aio_offset=%" PRI__d64
"}, {aio_key=%u, aio_lio_opcode=pwritev, aio_reqprio=%hd"
", aio_fildes=%d, aio_buf=%#" PRI__x64
"}, {aio_key=%u, aio_lio_opcode=IOCB_CMD_PWRITEV"
", aio_reqprio=%hd, aio_fildes=%d, aio_buf=%#" PRI__x64
", aio_nbytes=%" PRI__u64 ", aio_offset=%" PRI__d64
"}, {NULL}, {%#lx}, %p]) = %s\n",
*ctx, 1057L,
@ -354,11 +356,11 @@ main(void)
if (rc != (long) nr)
perror_msg_and_skip("io_submit");
printf("io_submit(%#lx, %u, ["
"{aio_data=%#" PRI__x64 ", aio_lio_opcode=preadv"
"{aio_data=%#" PRI__x64 ", aio_lio_opcode=IOCB_CMD_PREADV"
", aio_reqprio=%hd, aio_fildes=0, "
"aio_buf=[{iov_base=%p, iov_len=%u}"
", {iov_base=%p, iov_len=%u}], aio_offset=%" PRI__d64 "}, "
"{aio_data=%#" PRI__x64 ", aio_lio_opcode=preadv"
"{aio_data=%#" PRI__x64 ", aio_lio_opcode=IOCB_CMD_PREADV"
", aio_reqprio=%hd, aio_fildes=0"
", aio_buf=[{iov_base=%p, iov_len=%u}"
", {iov_base=%p, iov_len=%u}], aio_offset=%" PRI__d64 "}"