LIO_WRITE
iocb->aio_lio_opcode = LIO_WRITE;
MPASS(job->uaiocb.aio_lio_opcode == LIO_WRITE);
if (job->uaiocb.aio_lio_opcode != LIO_WRITE)
MPASS(opcode & LIO_WRITE);
switch (job->uaiocb.aio_lio_opcode & (LIO_WRITE | LIO_READ)) {
case LIO_WRITE:
if (!(opcode == LIO_WRITE || opcode == LIO_WRITEV ||
bio_cmd = (opcode & LIO_WRITE) ? BIO_WRITE : BIO_READ;
case LIO_WRITE:
case LIO_WRITE:
opcode == LIO_WRITE || opcode == LIO_WRITEV) &&
switch (opcode & (LIO_READ | LIO_WRITE)) {
case LIO_WRITE:
if (job->uaiocb.aio_lio_opcode & (LIO_WRITE | LIO_READ)) {
return (aio_aqueue(td, (struct aiocb *)uap->aiocbp, NULL, LIO_WRITE,
return (aio_aqueue(td, uap->aiocbp, NULL, LIO_WRITE, &aiocb_ops));
if (opcode & LIO_WRITE)
return (aio_aqueue(td, (struct aiocb *)uap->aiocbp, NULL, LIO_WRITE,
return (aio_aqueue(td, (struct aiocb *)uap->aiocbp, NULL, LIO_WRITE,
opcode == LIO_WRITE || opcode == LIO_WRITEV,
if (error == EPIPE && (opcode & LIO_WRITE)) {
#define LIO_WRITEV (LIO_WRITE | LIO_VECTORED)
iocb[k]->aio_lio_opcode = LIO_WRITE;
aiocbs[i][j].aio_lio_opcode = LIO_WRITE;
write_cb.aio_lio_opcode = LIO_WRITE;
X(LIO_WRITE) X(LIO_READ) X(LIO_READV) X(LIO_WRITEV) X(LIO_NOP)