Lines Matching refs:req

64 	req_t	req[1];  member
182 if (list->req[i].state == RCM_STATE_REMOVE) in find_req_entry()
195 if ((strcmp(device, list->req[i].device) != 0) || in find_req_entry()
196 (list->req[i].flag & RCM_FILESYS) != (flag & RCM_FILESYS)) in find_req_entry()
201 (list->req[i].seq_num >> SEQ_NUM_SHIFT))) in find_req_entry()
205 return (&list->req[i]); in find_req_entry()
251 (*listp)->req[i].state = RCM_STATE_REMOVE; in get_req_entry()
252 (void) strcpy((*listp)->req[i].device, ""); in get_req_entry()
257 return (&(*listp)->req[n_req]); in get_req_entry()
264 if (((*listp)->req[i].device[0] == '\0') || in get_req_entry()
265 ((*listp)->req[i].state == RCM_STATE_REMOVE)) { in get_req_entry()
273 return (&(*listp)->req[i]); in get_req_entry()
289 req_t *req; in info_req_add() local
312 req = get_req_entry(&info_req_list); in info_req_add()
313 req->seq_num = seq_num; in info_req_add()
314 req->state = RCM_STATE_ONLINE; /* mark that the entry is in use */ in info_req_add()
315 req->flag = flag; in info_req_add()
316 (void) strcpy(req->device, device); in info_req_add()
340 if (info_req_list->req[i].state == RCM_STATE_REMOVE) in info_req_remove()
343 if ((info_req_list->req[i].seq_num >> SEQ_NUM_SHIFT) != seq_num) in info_req_remove()
346 info_req_list->req[i].state = RCM_STATE_REMOVE; in info_req_remove()
377 req_t *req = &dr_req_list->req[i]; in check_lock() local
378 char *dr_dev = req->device; in check_lock()
383 if ((req->state == RCM_STATE_REMOVE) || (dr_dev[0] == '\0')) in check_lock()
397 ((dr_req_list->req[i].flag & RCM_FILESYS) == 0))) in check_lock()
402 add_busy_rsrc_to_list(dr_dev, dr_req_list->req[i].pid, in check_lock()
403 dr_req_list->req[i].state, in check_lock()
404 dr_req_list->req[i].seq_num, NULL, locked_info, in check_lock()
419 add_busy_rsrc_to_list(dr_dev, dr_req_list->req[i].pid, in check_lock()
420 dr_req_list->req[i].state, in check_lock()
421 dr_req_list->req[i].seq_num, NULL, locked_info, in check_lock()
479 req_t *req; in dr_req_update_entry() local
484 req = find_req_entry(device, flag, -1, dr_req_list); in dr_req_update_entry()
486 if (req == NULL) { in dr_req_update_entry()
513 if (pid != req->pid) { in dr_req_update_entry()
516 req->pid, pid); in dr_req_update_entry()
522 req->state, req->device); in dr_req_update_entry()
534 if ((req->state != RCM_STATE_OFFLINE_FAIL) && in dr_req_update_entry()
535 (req->state != RCM_STATE_OFFLINE_QUERYING) && in dr_req_update_entry()
536 (req->state != RCM_STATE_OFFLINE_QUERY) && in dr_req_update_entry()
537 (req->state != RCM_STATE_OFFLINE_QUERY_FAIL) && in dr_req_update_entry()
538 (req->state != RCM_STATE_OFFLINE)) { in dr_req_update_entry()
541 device, req->state); in dr_req_update_entry()
552 if ((req->state != RCM_STATE_SUSPEND_FAIL) && in dr_req_update_entry()
553 (req->state != RCM_STATE_SUSPEND_QUERYING) && in dr_req_update_entry()
554 (req->state != RCM_STATE_SUSPEND_QUERY) && in dr_req_update_entry()
555 (req->state != RCM_STATE_SUSPEND_QUERY_FAIL) && in dr_req_update_entry()
556 (req->state != RCM_STATE_SUSPEND)) { in dr_req_update_entry()
559 device, req->state); in dr_req_update_entry()
565 if ((req->state != RCM_STATE_SUSPEND) && in dr_req_update_entry()
566 (req->state != RCM_STATE_SUSPEND_QUERYING) && in dr_req_update_entry()
567 (req->state != RCM_STATE_SUSPEND_QUERY) && in dr_req_update_entry()
568 (req->state != RCM_STATE_SUSPEND_QUERY_FAIL) && in dr_req_update_entry()
569 (req->state != RCM_STATE_SUSPEND_FAIL)) { in dr_req_update_entry()
572 device, req->state); in dr_req_update_entry()
578 if ((req->state != RCM_STATE_OFFLINE) && in dr_req_update_entry()
579 (req->state != RCM_STATE_OFFLINE_QUERYING) && in dr_req_update_entry()
580 (req->state != RCM_STATE_OFFLINE_QUERY) && in dr_req_update_entry()
581 (req->state != RCM_STATE_OFFLINE_QUERY_FAIL) && in dr_req_update_entry()
582 (req->state != RCM_STATE_OFFLINE_FAIL)) { in dr_req_update_entry()
585 device, req->state); in dr_req_update_entry()
591 if ((req->state != RCM_STATE_OFFLINE) && in dr_req_update_entry()
592 (req->state != RCM_STATE_OFFLINE_FAIL)) { in dr_req_update_entry()
595 device, req->state); in dr_req_update_entry()
601 assert(req->state == RCM_STATE_SUSPENDING); in dr_req_update_entry()
605 assert(req->state == RCM_STATE_OFFLINING); in dr_req_update_entry()
609 assert(req->state == RCM_STATE_SUSPENDING); in dr_req_update_entry()
613 assert(req->state == RCM_STATE_OFFLINING); in dr_req_update_entry()
617 assert((req->state == RCM_STATE_RESUMING) || in dr_req_update_entry()
618 (req->state == RCM_STATE_ONLINING)); in dr_req_update_entry()
631 req->state = state; in dr_req_update_entry()
632 req->seq_num = seq_num; in dr_req_update_entry()
635 req->interval = *interval; in dr_req_update_entry()
637 bzero(&req->interval, sizeof (timespec_t)); in dr_req_update_entry()
644 add_busy_rsrc_to_list(req->device, req->pid, req->state, in dr_req_update_entry()
645 req->seq_num, NULL, locked_info, locked_err, NULL, infop); in dr_req_update_entry()
658 if (transition_state(req->state)) { in dr_req_update_entry()
674 req_t *req; in dr_req_add() local
719 req = get_req_entry(&dr_req_list); in dr_req_add()
721 req->seq_num = seq_num; in dr_req_add()
722 req->pid = pid; in dr_req_add()
723 req->flag = flag; in dr_req_add()
724 req->state = state; in dr_req_add()
725 req->type = rsrc_get_type(device); in dr_req_add()
726 (void) strcpy(req->device, device); in dr_req_add()
730 req->interval = *interval; in dr_req_add()
732 bzero(&req->interval, sizeof (timespec_t)); in dr_req_add()
739 add_to_polling_list(req->pid); in dr_req_add()
797 if ((dr_req_list->req[i].state == RCM_STATE_REMOVE) || in dr_req_lookup()
798 ((dr_req_list->req[i].seq_num >> SEQ_NUM_SHIFT) != base)) { in dr_req_lookup()
803 len = strlcpy(rsrc, dr_req_list->req[i].device, MAXPATHLEN); in dr_req_lookup()
821 req_t *req; in dr_req_remove() local
829 req = find_req_entry(device, flag, -1, dr_req_list); in dr_req_remove()
832 if (req == NULL) { in dr_req_remove()
839 req->state = RCM_STATE_REMOVE; in dr_req_remove()
846 remove_from_polling_list(req->pid); in dr_req_remove()
871 if (dr_req_list->req[i].state == RCM_STATE_REMOVE) in rsrc_dr_info()
874 if (dr_req_list->req[i].device[0] == '\0') in rsrc_dr_info()
877 if (dr_req_list->req[i].flag & RCM_FILESYS) { in rsrc_dr_info()
878 len = strlen(dr_req_list->req[i].device) + 5; in rsrc_dr_info()
881 dr_req_list->req[i].device); in rsrc_dr_info()
883 rsrc = s_strdup(dr_req_list->req[i].device); in rsrc_dr_info()
903 dr_req_list->req[i].pid)) { in rsrc_dr_info()
911 dr_req_list->req[i].seq_num)) { in rsrc_dr_info()
919 dr_req_list->req[i].state)) { in rsrc_dr_info()
977 if (dr_req_list->req[i].state == RCM_STATE_REMOVE) in clean_dr_list()
980 if (dr_req_list->req[i].device[0] == '\0') in clean_dr_list()
984 if (dr_req_list->req[i].seq_num & SEQ_NUM_MASK) in clean_dr_list()
991 proc_exist(dr_req_list->req[i].pid)) in clean_dr_list()
995 "found stale entry: %s\n", dr_req_list->req[i].device); in clean_dr_list()
998 tmp->rsrcname = s_strdup(dr_req_list->req[i].device); in clean_dr_list()
999 tmp->state = dr_req_list->req[i].state; in clean_dr_list()
1000 tmp->pid = dr_req_list->req[i].pid; in clean_dr_list()
1001 tmp->seq_num = dr_req_list->req[i].seq_num; in clean_dr_list()
1002 tmp->interval = dr_req_list->req[i].interval; in clean_dr_list()