FreeBSD/sys/cam/ctl/ctl.c
/*
 * This gets called by a backend driver when it is done with a
 * data_submit method.
 */
This gets called by a backend driver when it is done with a
data_submit method.
This gets called by a backend driver when it is done with a data_submit method .
void
ctl_data_submit_done(union ctl_io *io)
{
	if ((io->io_hdr.flags & CTL_FLAG_IO_CONT) &&
	    (io->io_hdr.flags & CTL_FLAG_ABORT) == 0 &&
	    ((io->io_hdr.status & CTL_STATUS_MASK) == CTL_STATUS_NONE ||
	     (io->io_hdr.status & CTL_STATUS_MASK) == CTL_SUCCESS)) {
		io->scsiio.io_cont(io);
		return;
	}
	ctl_done(io);
}
void ctl_data_submit_done ( union ctl_io * io ) { if ( ( io -> io_hdr . flags & CTL_FLAG_IO_CONT ) && ( io -> io_hdr . flags & CTL_FLAG_ABORT ) == 0 && ( ( io -> io_hdr . status & CTL_STATUS_MASK ) == CTL_STATUS_NONE || ( io -> io_hdr . status & CTL_STATUS_MASK ) == CTL_SUCCESS ) ) { io -> scsiio . io_cont ( io ) ; return ; } ctl_done ( io ) ; }
This gets called by a backend driver when it is done with a
 data_submit method.
This gets called by a backend driver when it is done with a data_submit method .
/*
	 * If the IO_CONT flag is set, we need to call the supplied
	 * function to continue processing the I/O, instead of completing
	 * the I/O just yet.
	 *
	 * If there is an error, though, we don't want to keep processing.
	 * Instead, just send status back to the initiator.
	 */