DATA_LEN
if ((read = preadv(fd, iov, 1, off)) != DATA_LEN)
char data[(IOV_MAX + 1) * DATA_LEN] = "";
(void) strcpy(data + i * DATA_LEN, "data");
iov[i].iov_len = DATA_LEN;
if (read != DATA_LEN * IOV_MAX)
if (strcmp(data + i * DATA_LEN, "data") != 0)
errx(EXIT_FAILURE, "bad read at 0x%zx", i * DATA_LEN);
if ((written = pwritev(fd, iov, 1, off)) != DATA_LEN)