Lines Matching refs:diskq

164 			cmn_err(CE_WARN, "!nsc_close on diskq failed");
173 bzero(&grp->diskq.disk_hdr, sizeof (diskq_header));
177 * nsc_open the diskq and attach
297 ASSERT(MUTEX_HELD(&rdc_k_info[aio->index].group->diskq.disk_qlock));
352 disk_queue *dq = &krdc->group->diskq;
370 * other cleanup is done on the un-failing of the diskq
421 * write out diskq header info
436 q = &krdc->group->diskq;
504 disk_queue *q = &grp->diskq;
536 * the diskq failed for some reason, lets try and re-start it
546 disk_queue *dq = &group->diskq;
569 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
613 header = &krdc->group->diskq.disk_hdr.h;
647 qp = &krdc->group->diskq;
676 * open the diskq
686 q = &group->diskq;
692 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
709 /* caller has to fail diskq after dropping conf & many locks */
715 * open the diskq and read the header
727 q = &group->diskq;
736 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
743 /* check diskq magic number */
745 cmn_err(CE_WARN, "!SNDR: unable to resume diskq %s,"
747 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
756 /* version 1 diskq header, upgrade to 64bit version */
757 h1 = *(diskq_header1 *)(&group->diskq.disk_hdr.h);
758 hc = &group->diskq.disk_hdr.h;
760 cmn_err(CE_WARN, "!SNDR: old version header for diskq %s,"
775 cmn_err(CE_WARN, "!SNDR: unable to resume diskq %s,"
777 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
784 cmn_err(CE_WARN, "!SNDR: unable to resume diskq %s,"
785 " diskq header newer than current version",
787 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
793 /* okay, current version diskq */
796 cmn_err(CE_WARN, "!SNDR: unable to resume diskq %s,"
797 " unknown diskq header version", urdc->disk_queue);
798 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
804 cmn_err(CE_WARN, "!SNDR: unable to resume diskq %s,"
806 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
821 group->diskq.nitems_hwm = QNITEMS(q);
822 group->diskq.blocks_hwm = QBLOCKS(q);
827 cmn_err(CE_NOTE, "!rdc_resume_diskq: resuming diskq %s \n",
836 /* caller has to set the diskq failed after dropping it's locks */
848 q = &krdc->group->diskq;
850 /* grab both diskq locks as we are going to kill the flusher */
860 krdc->group->diskq.disk_hdr.h.state &= ~RDC_SHUTDOWN_BAD;
861 krdc->group->diskq.disk_hdr.h.state |= RDC_SHUTDOWN_OK;
862 krdc->group->diskq.disk_hdr.h.state &= ~RDC_QBADRESUME;
889 /* fill in diskq header info */
890 krdc->group->diskq.disk_hdr.h.state &= ~RDC_QDISABLEPEND;
914 /* diskq already failed if stamp failed */
954 * mark has not been reached. 0 if diskq is empty.
964 disk_queue *dq = &group->diskq;
999 cmn_err(CE_NOTE, "!Waking up diskq->memq flusher, flags 0x%x"
1010 * enqueue one i/o to the diskq
1036 q = &group->diskq;
1366 q = &group->diskq;
1418 if (qpos < 0) /* not a diskq offset */
1422 q = &group->diskq;
1504 cmn_err(CE_NOTE, "!clr_iohdr: diskq %s empty, "
1592 mutex_enter(&grp->diskq.disk_qlock);
1594 mutex_exit(&grp->diskq.disk_qlock);
1604 mutex_exit(&grp->diskq.disk_qlock);
1667 * take a chunk of the diskq, parse it and assemble
1683 disk_queue *dq = &grp->diskq;
1895 * remove one chunk from the diskq belonging to
1917 q = &group->diskq;
2071 cmn_err(CE_WARN, "!nsc_copy failed for diskq unqueue");
2108 cmn_err(CE_NOTE, "!stamping diskq header:\n"
2157 cmn_err(CE_WARN, "!diskq_unqueue: failing diskq");
2169 rdc_diskq_inuse(rdc_set_t *set, char *diskq)
2179 if ((rdc_lookup_bitmap(diskq) >= 0) ||
2180 (rdc_lookup_configured(diskq) >= 0)) {
2189 /* same diskq different group */
2190 if ((strcmp(urdc->disk_queue, diskq) == 0) &&
2231 * returns the size of the diskq that can be read for dequeuing
2305 * read a large as possible chunk of the diskq into a nsc_buf_t
2329 dq = &group->diskq;
2517 disk_queue *dq = &krdc->group->diskq;
2608 * there is nothing in the diskq to flush to mem.
2615 disk_queue *dq = &krdc->group->diskq;
2625 cmn_err(CE_NOTE, "!Sleeping diskq->memq flusher: QFILLSLEEP idx: %d",
2633 cmn_err(CE_NOTE, "!Sleeping diskq->memq flusher: Sync|Log (0x%x)"
2642 cmn_err(CE_NOTE, "!Sleeping diskq->memq flusher: QEMPTY");
2653 cmn_err(CE_NOTE, "!Sleeping diskq->memq flusher: memq full:"
2704 * data from the diskq to a memory queue for
2791 _rdc_add_diskq(int index, char *diskq)
2802 if (!diskq || urdc->disk_queue[0]) { /* how'd that happen? */
2804 cmn_err(CE_WARN, "!NULL diskq in _rdc_add_diskq");
2811 (void) strncpy(urdc->disk_queue, diskq, NSC_MAXPATH);
2816 cmn_err(CE_NOTE, "!adding diskq to group %s", urdc->group_name);
2829 (void) strncpy(up->disk_queue, diskq, NSC_MAXPATH);
2830 /* size lives in the diskq structure, already set by enable */
2840 * add a diskq to an existing set/group
2845 char *diskq;
2867 diskq = uparms->rdc_set->disk_queue;
2940 rc = _rdc_add_diskq(urdc->index, diskq);
2956 disk_queue *q = &group->diskq;
2958 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
2999 qp = &group->diskq;
3061 disk_queue *q = &group->diskq;
3098 * remove this diskq regardless of whether it is draining or not
3152 * remove a diskq from a group.
3153 * removal of a diskq from a set, or rather
3155 * of the group. This removes the diskq from a whole
3167 volatile disk_queue *diskq;
3196 * If there is no group or diskq configured, we can leave now
3198 if (!(group = krdc->group) || !(diskq = &group->diskq))
3206 while (!QEMPTY(diskq) || group->rdc_thrnum) {
3211 blocks = QBLOCKS(diskq);
3222 if (!(group = krdc->group) || !(diskq = &group->diskq))
3228 if (blocks == QBLOCKS(diskq) && threads == group->rdc_thrnum) {