xbd_cm_q
if (msleep(&sc->xbd_cm_q[XBD_Q_BUSY], &sc->xbd_io_lock,
wakeup(&sc->xbd_cm_q[XBD_Q_BUSY]);
xbd_cm_q_t xbd_cm_q[XBD_Q_COUNT];
struct xbd_cm_q *cmq;
cmq = &sc->xbd_cm_q[index];
sc->xbd_cm_q[index].q_length--;
return (sc->xbd_cm_q[index].q_length);
struct xbd_cm_q *cmq;
cmq = &sc->xbd_cm_q[index];
TAILQ_INSERT_TAIL(&cm->cm_sc->xbd_cm_q[index].q_tailq, cm, cm_link);
TAILQ_INSERT_HEAD(&cm->cm_sc->xbd_cm_q[index].q_tailq, cm, cm_link);
if ((cm = TAILQ_FIRST(&sc->xbd_cm_q[index].q_tailq)) != NULL) {
TAILQ_REMOVE(&sc->xbd_cm_q[index].q_tailq, cm, cm_link);
TAILQ_REMOVE(&cm->cm_sc->xbd_cm_q[index].q_tailq, cm, cm_link);