Lines Matching defs:rdc_set

212  * Called from the config code when an rdc_set has been enabled or disabled.
1276 rdc_check(rdc_k_info_t *krdc, rdc_set_t *rdc_set)
1285 if (strncmp(urdc->primary.file, rdc_set->primary.file,
1289 urdc->primary.file, rdc_set->primary.file);
1294 if (rdc_set->primary.addr.len != 0 &&
1295 bcmp(urdc->primary.addr.buf, rdc_set->primary.addr.buf,
1304 if (strncmp(urdc->secondary.file, rdc_set->secondary.file,
1308 urdc->secondary.file, rdc_set->secondary.file);
1313 if (rdc_set->secondary.addr.len != 0 &&
1314 bcmp(urdc->secondary.addr.buf, rdc_set->secondary.addr.buf,
1464 rdc_lookup_many2one(rdc_set_t *rdc_set)
1480 rdc_set->secondary.file, NSC_MAXPATH) != 0)
1483 rdc_set->secondary.intf, MAX_RDC_HOST_SIZE) != 0)
1505 rdc_lookup_byname(rdc_set_t *rdc_set)
1523 if (strncmp(urdc->primary.file, rdc_set->primary.file,
1526 if (strncmp(urdc->primary.intf, rdc_set->primary.intf,
1529 if (strncmp(urdc->secondary.file, rdc_set->secondary.file,
1532 if (strncmp(urdc->secondary.intf, rdc_set->secondary.intf,
1596 rdc_lookup_byaddr(rdc_set_t *rdc_set)
1615 if (strcmp(urdc->primary.file, rdc_set->primary.file) != 0)
1618 if (strcmp(urdc->secondary.file, rdc_set->secondary.file) != 0)
1621 if (bcmp(urdc->primary.addr.buf, rdc_set->primary.addr.buf,
1626 if (bcmp(urdc->secondary.addr.buf, rdc_set->secondary.addr.buf,
1993 _rdc_enable(rdc_set_t *rdc_set, int options, spcs_s_info_t kstatus)
2008 if ((rdc_set->primary.intf[0] == 0) ||
2009 (rdc_set->primary.addr.len == 0) ||
2010 (rdc_set->primary.file[0] == 0) ||
2011 (rdc_set->primary.bitmap[0] == 0) ||
2012 (rdc_set->secondary.intf[0] == 0) ||
2013 (rdc_set->secondary.addr.len == 0) ||
2014 (rdc_set->secondary.file[0] == 0) ||
2015 (rdc_set->secondary.bitmap[0] == 0)) {
2024 if (rdc_lookup_byname(rdc_set) >= 0) {
2026 spcs_s_add(kstatus, RDC_EENABLED, rdc_set->primary.intf,
2027 rdc_set->primary.file, rdc_set->secondary.intf,
2028 rdc_set->secondary.file);
2032 if (rdc_lookup_many2one(rdc_set) >= 0) {
2034 spcs_s_add(kstatus, RDC_EMANY2ONE, rdc_set->primary.intf,
2035 rdc_set->primary.file, rdc_set->secondary.intf,
2036 rdc_set->secondary.file);
2040 if (rdc_set->netconfig->knc_proto == NULL) {
2046 if (rdc_set->primary.addr.len == 0) {
2048 spcs_s_add(kstatus, RDC_ENETBUF, rdc_set->primary.file);
2052 if (rdc_set->secondary.addr.len == 0) {
2054 spcs_s_add(kstatus, RDC_ENETBUF, rdc_set->secondary.file);
2060 local_file = rdc_set->primary.file;
2062 local_file = rdc_set->secondary.file;
2071 local_file = rdc_set->secondary.file;
2081 if (rdc_lookup_diskq(rdc_set->primary.file) >= 0) {
2084 RDC_EVOLINUSE, rdc_set->primary.file);
2091 local_bitmap = rdc_set->primary.bitmap;
2093 local_bitmap = rdc_set->secondary.bitmap;
2108 diskq = rdc_set->disk_queue;
2109 if (diskq[0] && rdc_diskq_inuse(rdc_set, diskq)) {
2117 index = rdc_dev_open(rdc_set, options);
2121 spcs_s_add(kstatus, RDC_EOPEN, rdc_set->primary.intf,
2122 rdc_set->primary.file);
2124 spcs_s_add(kstatus, RDC_EOPEN, rdc_set->secondary.intf,
2125 rdc_set->secondary.file);
2132 /* copy relevant parts of rdc_set to urdc field by field */
2134 (void) strncpy(urdc->primary.intf, rdc_set->primary.intf,
2136 (void) strncpy(urdc->secondary.intf, rdc_set->secondary.intf,
2139 (void) strncpy(urdc->group_name, rdc_set->group_name, NSC_MAXPATH);
2140 (void) strncpy(urdc->disk_queue, rdc_set->disk_queue, NSC_MAXPATH);
2142 dup_rdc_netbuf(&rdc_set->primary.addr, &urdc->primary.addr);
2143 (void) strncpy(urdc->primary.file, rdc_set->primary.file, NSC_MAXPATH);
2144 (void) strncpy(urdc->primary.bitmap, rdc_set->primary.bitmap,
2147 dup_rdc_netbuf(&rdc_set->secondary.addr, &urdc->secondary.addr);
2148 (void) strncpy(urdc->secondary.file, rdc_set->secondary.file,
2150 (void) strncpy(urdc->secondary.bitmap, rdc_set->secondary.bitmap,
2153 urdc->setid = rdc_set->setid;
2171 spcs_s_add(kstatus, RDC_EQNOADD, rdc_set->disk_queue);
2175 rdc_set->primary.intf, rdc_set->primary.file,
2176 rdc_set->secondary.intf, rdc_set->secondary.file,
2177 rdc_set->group_name);
2213 (void) strncpy(urdc->direct_file, rdc_set->direct_file, NSC_MAXPATH);
2214 if ((options & RDC_OPT_PRIMARY) && rdc_set->direct_file[0]) {
2231 urdc->syshostid = rdc_set->syshostid;
2260 if (rdc_set->maxqfbas > 0)
2261 urdc->maxqfbas = rdc_set->maxqfbas;
2265 if (rdc_set->maxqitems > 0)
2266 urdc->maxqitems = rdc_set->maxqitems;
2270 if (rdc_set->asyncthr > 0)
2271 urdc->asyncthr = rdc_set->asyncthr;
2277 if (rdc_set->autosync > 0)
2283 urdc->netconfig = rdc_set->netconfig;
2286 rhost = rdc_set->secondary.intf;
2287 addrp = &rdc_set->secondary.addr;
2289 rhost = rdc_set->primary.intf;
2290 addrp = &rdc_set->primary.addr;
2364 spcs_s_add(kstatus, RDC_EBITMAP, rdc_set->primary.bitmap);
2366 spcs_s_add(kstatus, RDC_EBITMAP, rdc_set->secondary.bitmap);
2451 rc = _rdc_enable(uparms->rdc_set, uparms->options, kstatus);
2464 rdc_set_t *rdc_set = uap->rdc_set;
2469 ASSERT(rdc_check(krdc, rdc_set) == 0);
2472 rdc_check(krdc, rdc_set)) {
2474 spcs_s_add(kstatus, RDC_EALREADY, rdc_set->primary.file,
2475 rdc_set->secondary.file);
2636 index = rdc_lookup_byname(uparms->rdc_set);
2641 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
2642 uparms->rdc_set->secondary.file);
2651 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
2652 uparms->rdc_set->secondary.file);
3500 rdc_set_t *rdc_set = uparms->rdc_set;
3516 index = rdc_lookup_byname(rdc_set);
3521 spcs_s_add(kstatus, RDC_EALREADY, rdc_set->primary.file,
3522 rdc_set->secondary.file);
3534 spcs_s_add(kstatus, RDC_EALREADY, rdc_set->primary.file,
3535 rdc_set->secondary.file);
3549 if (rdc_check(krdc, rdc_set)) {
3550 spcs_s_add(kstatus, RDC_EALREADY, rdc_set->primary.file,
3551 rdc_set->secondary.file);
3557 spcs_s_add(kstatus, RDC_ENOTPRIMARY, rdc_set->primary.intf,
3558 rdc_set->primary.file, rdc_set->secondary.intf,
3559 rdc_set->secondary.file);
3568 spcs_s_add(kstatus, RDC_EQNORSYNC, rdc_set->primary.intf,
3569 rdc_set->primary.file, rdc_set->secondary.intf,
3570 rdc_set->secondary.file);
3637 spcs_s_add(kstatus, RDC_ESYNCING, rdc_set->primary.file);
3642 spcs_s_add(kstatus, RDC_ESYNCING, rdc_set->primary.file);
3650 spcs_s_add(kstatus, RDC_ERSYNCNEEDED, rdc_set->primary.intf,
3651 rdc_set->primary.file, rdc_set->secondary.intf,
3652 rdc_set->secondary.file);
3956 _rdc_suspend(rdc_k_info_t *krdc, rdc_set_t *rdc_set, spcs_s_info_t kstatus)
3965 ASSERT(rdc_check(krdc, rdc_set) == 0);
3967 if (rdc_check(krdc, rdc_set)) {
3969 spcs_s_add(kstatus, RDC_EALREADY, rdc_set->primary.file,
3970 rdc_set->secondary.file);
4118 index = rdc_lookup_byname(uparms->rdc_set);
4123 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
4124 uparms->rdc_set->secondary.file);
4133 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
4134 uparms->rdc_set->secondary.file);
4139 rc = _rdc_suspend(krdc, uparms->rdc_set, kstatus);
4144 _rdc_resume(rdc_set_t *rdc_set, int options, spcs_s_info_t kstatus)
4158 if ((rdc_set->primary.intf[0] == 0) ||
4159 (rdc_set->primary.addr.len == 0) ||
4160 (rdc_set->primary.file[0] == 0) ||
4161 (rdc_set->primary.bitmap[0] == 0) ||
4162 (rdc_set->secondary.intf[0] == 0) ||
4163 (rdc_set->secondary.addr.len == 0) ||
4164 (rdc_set->secondary.file[0] == 0) ||
4165 (rdc_set->secondary.bitmap[0] == 0)) {
4174 if (rdc_lookup_byname(rdc_set) >= 0) {
4176 spcs_s_add(kstatus, RDC_EENABLED, rdc_set->primary.intf,
4177 rdc_set->primary.file, rdc_set->secondary.intf,
4178 rdc_set->secondary.file);
4182 if (rdc_lookup_many2one(rdc_set) >= 0) {
4184 spcs_s_add(kstatus, RDC_EMANY2ONE, rdc_set->primary.intf,
4185 rdc_set->primary.file, rdc_set->secondary.intf,
4186 rdc_set->secondary.file);
4190 if (rdc_set->netconfig->knc_proto == NULL) {
4196 if (rdc_set->primary.addr.len == 0) {
4198 spcs_s_add(kstatus, RDC_ENETBUF, rdc_set->primary.file);
4202 if (rdc_set->secondary.addr.len == 0) {
4204 spcs_s_add(kstatus, RDC_ENETBUF, rdc_set->secondary.file);
4210 local_file = rdc_set->primary.file;
4212 local_file = rdc_set->secondary.file;
4221 local_file = rdc_set->secondary.file;
4231 local_bitmap = rdc_set->primary.bitmap;
4233 local_bitmap = rdc_set->secondary.bitmap;
4248 index = rdc_dev_open(rdc_set, options);
4252 spcs_s_add(kstatus, RDC_EOPEN, rdc_set->primary.intf,
4253 rdc_set->primary.file);
4255 spcs_s_add(kstatus, RDC_EOPEN, rdc_set->secondary.intf,
4256 rdc_set->secondary.file);
4263 /* copy relevant parts of rdc_set to urdc field by field */
4265 (void) strncpy(urdc->primary.intf, rdc_set->primary.intf,
4267 (void) strncpy(urdc->secondary.intf, rdc_set->secondary.intf,
4270 (void) strncpy(urdc->group_name, rdc_set->group_name, NSC_MAXPATH);
4272 dup_rdc_netbuf(&rdc_set->primary.addr, &urdc->primary.addr);
4273 (void) strncpy(urdc->primary.file, rdc_set->primary.file, NSC_MAXPATH);
4274 (void) strncpy(urdc->primary.bitmap, rdc_set->primary.bitmap,
4277 dup_rdc_netbuf(&rdc_set->secondary.addr, &urdc->secondary.addr);
4278 (void) strncpy(urdc->secondary.file, rdc_set->secondary.file,
4280 (void) strncpy(urdc->secondary.bitmap, rdc_set->secondary.bitmap,
4282 (void) strncpy(urdc->disk_queue, rdc_set->disk_queue, NSC_MAXPATH);
4283 urdc->setid = rdc_set->setid;
4307 rdc_set->primary.intf, rdc_set->primary.file,
4308 rdc_set->secondary.intf, rdc_set->secondary.file,
4309 rdc_set->group_name);
4345 (void) strncpy(urdc->direct_file, rdc_set->direct_file, NSC_MAXPATH);
4346 if ((options & RDC_OPT_PRIMARY) && rdc_set->direct_file[0]) {
4364 urdc->syshostid = rdc_set->syshostid;
4410 urdc->netconfig = rdc_set->netconfig;
4413 rhost = rdc_set->secondary.intf;
4414 addrp = &rdc_set->secondary.addr;
4416 rhost = rdc_set->primary.intf;
4417 addrp = &rdc_set->primary.addr;
4572 rc = _rdc_resume(uparms->rdc_set, uparms->options, kstatus);
4841 _rdc_log(rdc_k_info_t *krdc, rdc_set_t *rdc_set, spcs_s_info_t kstatus)
4847 if (rdc_check(krdc, rdc_set)) {
4849 spcs_s_add(kstatus, RDC_EALREADY, rdc_set->primary.file,
4850 rdc_set->secondary.file);
4890 index = rdc_lookup_byname(uparms->rdc_set);
4895 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
4896 uparms->rdc_set->secondary.file);
4905 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
4906 uparms->rdc_set->secondary.file);
4911 rc = _rdc_log(krdc, uparms->rdc_set, kstatus);
4930 index = rdc_lookup_byname(uparms->rdc_set);
4935 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
4936 uparms->rdc_set->secondary.file);
4951 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
4952 uparms->rdc_set->secondary.file);
4958 if (rdc_check(krdc, uparms->rdc_set)) {
4963 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
4964 uparms->rdc_set->secondary.file);
5010 index = rdc_lookup_byname(uparms->rdc_set);
5015 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5016 uparms->rdc_set->secondary.file);
5025 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5026 uparms->rdc_set->secondary.file);
5033 if (rdc_check(krdc, uparms->rdc_set)) {
5035 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5036 uparms->rdc_set->secondary.file);
5067 index = rdc_lookup_byname(uparms->rdc_set);
5072 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5073 uparms->rdc_set->secondary.file);
5083 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5084 uparms->rdc_set->secondary.file);
5091 if (rdc_check(krdc, uparms->rdc_set)) {
5093 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5094 uparms->rdc_set->secondary.file);
5102 if (strncmp(urdc->primary.bitmap, uparms->rdc_set->primary.bitmap,
5106 uparms->rdc_set->primary.bitmap);
5109 uparms->rdc_set->primary.bitmap, NSC_MAXPATH);
5114 if (strncmp(urdc->secondary.bitmap, uparms->rdc_set->secondary.bitmap,
5118 uparms->rdc_set->secondary.bitmap, NSC_MAXPATH);
5123 uparms->rdc_set->secondary.bitmap);
5129 uparms->rdc_set->secondary.intf,
5130 uparms->rdc_set->secondary.file);
5144 uparms->rdc_set->primary.intf,
5145 uparms->rdc_set->primary.file,
5146 uparms->rdc_set->secondary.intf,
5147 uparms->rdc_set->secondary.file);
5154 strncmp(urdc->direct_file, uparms->rdc_set->direct_file,
5161 (void) strncpy(urdc->direct_file, uparms->rdc_set->direct_file,
5175 if (strncmp(urdc->group_name, uparms->rdc_set->group_name,
5183 (void) strncpy(urdc->group_name, uparms->rdc_set->group_name,
5190 uparms->rdc_set->disk_queue);
5199 uparms->rdc_set->group_name);
5302 rdc_set_t rdc_set;
5318 bzero((void *) &rdc_set, sizeof (rdc_set_t));
5327 /* copy primary parts of urdc to rdc_set field by field */
5328 (void) strncpy(rdc_set.primary.intf, urdc->primary.intf,
5330 (void) strncpy(rdc_set.primary.file, urdc->primary.file,
5332 (void) strncpy(rdc_set.primary.bitmap, urdc->primary.bitmap,
5344 (void) strncpy(urdc->secondary.intf, rdc_set.primary.intf,
5346 (void) strncpy(urdc->secondary.file, rdc_set.primary.file,
5348 (void) strncpy(urdc->secondary.bitmap, rdc_set.primary.bitmap,
5435 index = rdc_lookup_byname(uparms->rdc_set);
5440 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5441 uparms->rdc_set->secondary.file);
5451 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5452 uparms->rdc_set->secondary.file);
5459 if (rdc_check(krdc, uparms->rdc_set)) {
5460 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5461 uparms->rdc_set->secondary.file);
5517 index = rdc_lookup_byname(uparms->rdc_set);
5522 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5523 uparms->rdc_set->secondary.file);
5533 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5534 uparms->rdc_set->secondary.file);
5541 if (rdc_check(krdc, uparms->rdc_set)) {
5542 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5543 uparms->rdc_set->secondary.file);
5548 if (uparms->rdc_set->maxqfbas > 0) {
5549 urdc->maxqfbas = uparms->rdc_set->maxqfbas;
5558 if (uparms->rdc_set->maxqitems > 0) {
5559 urdc->maxqitems = uparms->rdc_set->maxqitems;
5606 if (uparms->rdc_set->asyncthr > 0) {
5607 urdc->asyncthr = uparms->rdc_set->asyncthr;
5616 if (uparms->rdc_set->autosync >= 0) {
5617 if (uparms->rdc_set->autosync == 0)
5655 index = rdc_lookup_byname(uparms->rdc_set);
5660 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5661 uparms->rdc_set->secondary.file);
5670 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5671 uparms->rdc_set->secondary.file);
5678 if (rdc_check(krdc, uparms->rdc_set)) {
5680 spcs_s_add(kstatus, RDC_EALREADY, uparms->rdc_set->primary.file,
5681 uparms->rdc_set->secondary.file);
5701 ptr = (char *)arg + offsetof(struct rdc_config32, rdc_set);
5705 ptr = (char *)arg + offsetof(struct rdc_config, rdc_set);
5706 rc = ddi_copyout(urdc, ptr, sizeof (struct rdc_set), mode);
6018 STRUCT_HANDLE(rdc_set, rs);
6034 STRUCT_SET_HANDLE(rs, mode, STRUCT_FGETP(uparms, rdc_set));
6075 if (STRUCT_FGETP(uparms, rdc_set->netconfig) != NULL) {
6078 if (ddi_copyin(STRUCT_FGETP(uparms, rdc_set->netconfig),
6130 (void) strncpy(uap->rdc_set[0].primary.intf, STRUCT_FGETP(pa, intf),
6132 (void) strncpy(uap->rdc_set[0].primary.file, STRUCT_FGETP(pa, file),
6134 (void) strncpy(uap->rdc_set[0].primary.bitmap, STRUCT_FGETP(pa, bitmap),
6136 uap->rdc_set[0].netconfig = knconf;
6137 uap->rdc_set[0].flags = STRUCT_FGET(uparms, rdc_set->flags);
6138 uap->rdc_set[0].index = STRUCT_FGET(uparms, rdc_set->index);
6139 uap->rdc_set[0].setid = STRUCT_FGET(uparms, rdc_set->setid);
6140 uap->rdc_set[0].sync_pos = STRUCT_FGET(uparms, rdc_set->sync_pos);
6141 uap->rdc_set[0].volume_size = STRUCT_FGET(uparms, rdc_set->volume_size);
6142 uap->rdc_set[0].bits_set = STRUCT_FGET(uparms, rdc_set->bits_set);
6143 uap->rdc_set[0].autosync = STRUCT_FGET(uparms, rdc_set->autosync);
6144 uap->rdc_set[0].maxqfbas = STRUCT_FGET(uparms, rdc_set->maxqfbas);
6145 uap->rdc_set[0].maxqitems = STRUCT_FGET(uparms, rdc_set->maxqitems);
6146 uap->rdc_set[0].asyncthr = STRUCT_FGET(uparms, rdc_set->asyncthr);
6147 uap->rdc_set[0].syshostid = STRUCT_FGET(uparms, rdc_set->syshostid);
6148 uap->rdc_set[0].primary.addr = fsvaddr; /* struct copy */
6149 uap->rdc_set[0].secondary.addr = tsvaddr; /* struct copy */
6151 (void) strncpy(uap->rdc_set[0].secondary.intf, STRUCT_FGETP(sa, intf),
6153 (void) strncpy(uap->rdc_set[0].secondary.file, STRUCT_FGETP(sa, file),
6155 (void) strncpy(uap->rdc_set[0].secondary.bitmap,
6158 (void) strncpy(uap->rdc_set[0].direct_file,
6161 (void) strncpy(uap->rdc_set[0].group_name, STRUCT_FGETP(rs, group_name),
6164 (void) strncpy(uap->rdc_set[0].disk_queue, STRUCT_FGETP(rs, disk_queue),
6261 * Tune the threadset size after a successful rdc_set addition