Lines Matching refs:group

58 _rdc_rsrv_diskq(rdc_group_t *group)
62 mutex_enter(&group->diskqmutex);
63 if (group->diskqfd == NULL) {
64 mutex_exit(&group->diskqmutex);
66 } else if ((group->diskqrsrv == 0) &&
67 (rc = nsc_reserve(group->diskqfd, 0)) != 0) {
70 nsc_pathname(group->diskqfd), rc);
72 group->diskqrsrv++;
75 mutex_exit(&group->diskqmutex);
80 _rdc_rlse_diskq(rdc_group_t *group)
82 mutex_enter(&group->diskqmutex);
83 if (group->diskqrsrv > 0 && --group->diskqrsrv == 0) {
84 nsc_release(group->diskqfd);
86 mutex_exit(&group->diskqmutex);
156 cmn_err(CE_WARN, "!rdc_close_diskq: NULL group!");
190 grp = krdc->group;
297 ASSERT(MUTEX_HELD(&rdc_k_info[aio->index].group->diskq.disk_qlock));
351 rdc_group_t *group = krdc->group;
352 disk_queue *dq = &krdc->group->diskq;
414 while (group->rdc_thrnum)
435 grp = krdc->group;
436 q = &krdc->group->diskq;
545 rdc_group_t *group = krdc->group;
546 disk_queue *dq = &group->diskq;
569 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
603 if (krdc->group->diskqfd == NULL) {
613 header = &krdc->group->diskq.disk_hdr.h;
614 if (_rdc_rsrv_diskq(krdc->group)) {
618 rc = rdc_ns_io(krdc->group->diskqfd, NSC_RDBUF, 0,
621 _rdc_rlse_diskq(krdc->group);
642 rdc_group_t *group;
646 group = krdc->group;
647 qp = &krdc->group->diskq;
663 while (group->rdc_thrnum)
682 rdc_group_t *group;
685 group = krdc->group;
686 q = &group->diskq;
692 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
705 mutex_enter(&group->diskqmutex);
706 rdc_close_diskq(group);
707 mutex_exit(&group->diskqmutex);
721 rdc_group_t *group;
726 group = krdc->group;
727 q = &group->diskq;
736 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
747 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
757 h1 = *(diskq_header1 *)(&group->diskq.disk_hdr.h);
758 hc = &group->diskq.disk_hdr.h;
777 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
787 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
798 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
806 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
821 group->diskq.nitems_hwm = QNITEMS(q);
822 group->diskq.blocks_hwm = QBLOCKS(q);
848 q = &krdc->group->diskq;
854 if ((krdc->group->rdc_thrnum) && (!IS_QSTATE(q, RDC_STOPPINGFLUSH))) {
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;
865 if (krdc->group->rdc_thrnum) {
870 while (krdc->group->rdc_thrnum)
890 krdc->group->diskq.disk_hdr.h.state &= ~RDC_QDISABLEPEND;
900 if (krdc->group->count > 1) {
961 rdc_group_t *group = krdc->group;
963 net_queue *nq = &group->ra_queue;
964 disk_queue *dq = &group->diskq;
968 if (!RDC_IS_DISKQ(krdc->group))
1021 rdc_group_t *group;
1035 group = krdc->group;
1036 q = &group->diskq;
1172 if ((!group->rdc_writer) && !IS_STATE(urdc, RDC_LOGGING))
1258 if (_rdc_rsrv_diskq(group)) {
1276 rc = nsc_alloc_buf(group->diskqfd, qtail, iofbas,
1338 _rdc_rlse_diskq(group);
1349 if ((!krdc->group->rdc_writer) && !IS_STATE(urdc, RDC_LOGGING))
1359 rdc_add_iohdr(io_hdr *header, rdc_group_t *group)
1366 q = &group->diskq;
1409 rdc_group_t *group = krdc->group;
1422 q = &group->diskq;
1508 rdc_init_diskq_header(group, &q->disk_hdr);
1911 rdc_group_t *group = NULL;
1916 group = krdc->group;
1917 q = &group->diskq;
1919 if (group->diskqfd == NULL) /* we've been disabled */
1939 if (_rdc_rsrv_diskq(group)) {
1968 _rdc_rlse_diskq(group);
2001 rc = rdc_ns_io(group->diskqfd, NSC_READ, qhead,
2028 aio->seq = group->seq++;
2029 if (group->seq < aio->seq)
2030 group->seq = RDC_NEWSEQ + 1;
2048 rc = nsc_alloc_buf(group->diskqfd, qhead + 1, iohdr->dat.len,
2115 _rdc_rlse_diskq(group);
2124 rdc_add_iohdr(iohdr, group);
2155 _rdc_rlse_diskq(group);
2172 char *group;
2175 group = set->group_name;
2189 /* same diskq different group */
2192 strcmp(urdc->group_name, group))) {
2307 * to the group's netqueue
2317 rdc_group_t *group = krdc->group;
2318 net_queue *nq = &group->ra_queue;
2324 if (group == NULL || group->diskqfd == NULL) {
2329 dq = &group->diskq;
2335 if (_rdc_rsrv_diskq(group)) {
2452 rc = nsc_alloc_buf(group->diskqfd, offset, len,
2471 tmpnq = rdc_diskq_buf2queue(group, &buf, index);
2499 _rdc_rlse_diskq(group);
2516 net_queue *q = &krdc->group->ra_queue;
2517 disk_queue *dq = &krdc->group->diskq;
2614 net_queue *nq = &krdc->group->ra_queue;
2615 disk_queue *dq = &krdc->group->diskq;
2620 if (!RDC_IS_DISKQ(krdc->group))
2654 " seq: %d seqack %d", krdc->group->seq,
2655 krdc->group->seqack);
2710 rdc_group_t *grp = krdc->group;
2795 rdc_group_t *group;
2800 group = krdc->group;
2812 group->flags &= ~RDC_MEMQUE;
2813 group->flags |= RDC_DISKQUE;
2816 cmn_err(CE_NOTE, "!adding diskq to group %s", urdc->group_name);
2840 * add a diskq to an existing set/group
2850 rdc_group_t *group;
2866 group = krdc->group;
2942 group->flags &= ~RDC_DISKQUE;
2943 group->flags |= RDC_MEMQUE;
2955 rdc_group_t *group = krdc->group;
2956 disk_queue *q = &group->diskq;
2958 rdc_init_diskq_header(group, &group->diskq.disk_hdr);
2981 rdc_group_t *group;
2998 group = krdc->group;
2999 qp = &group->diskq;
3014 if (group->rdc_writer) {
3060 rdc_group_t *group = krdc->group;
3061 disk_queue *q = &group->diskq;
3065 group->flags |= RDC_DISKQ_KILL;
3071 rdc_init_diskq_header(group, &q->disk_hdr);
3078 rdc_close_diskq(group);
3092 group->flags &= ~(RDC_DISKQUE|RDC_DISKQ_KILL);
3093 group->flags |= RDC_MEMQUE;
3100 * remove the disk qeueue from the group, leaving the group with a memory
3126 if (!RDC_IS_DISKQ(krdc->group)) {
3142 rdc_unintercept_diskq(krdc->group); /* stop protecting queue */
3152 * remove a diskq from a group.
3155 * of the group. This removes the diskq from a whole
3156 * group and replaces it with a memory based queue
3166 volatile rdc_group_t *group;
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) {
3212 threads = group->rdc_thrnum;
3220 * Has the group or disk queue gone away while delayed?
3222 if (!(group = krdc->group) || !(diskq = &group->diskq))
3228 if (blocks == QBLOCKS(diskq) && threads == group->rdc_thrnum) {
3236 int rc = group->rdc_thrnum ?