Lines Matching defs:req

523 	dlmgmt_db_req_t *req;
525 if ((req = calloc(1, sizeof (dlmgmt_db_req_t))) == NULL) {
528 req->ls_op = op;
530 (void) strlcpy(req->ls_link, linkname, MAXLINKNAMELEN);
531 req->ls_linkid = linkid;
532 req->ls_zoneid = zoneid;
533 req->ls_flags = flags;
535 return (req);
545 dlmgmt_db_req_t *req;
551 if ((req = dlmgmt_db_req_alloc(op, entryname, linkp->ll_linkid,
559 err = dlmgmt_process_db_req(req);
561 free(req);
576 dlmgmt_process_db_req(dlmgmt_db_req_t *req)
587 writeop = (req->ls_op != DLMGMT_DB_OP_READ);
588 if (writeop && (req->ls_flags == DLMGMT_PERSIST) &&
590 dlmgmt_db_req_tail->ls_next = req;
591 dlmgmt_db_req_tail = req;
595 err = dlmgmt_process_db_onereq(req, writeop);
604 DLMGMT_DB_OP_STR(req->ls_op),
605 DLMGMT_DB_CONF_STR(req->ls_flags), strerror(err));
609 assert(req->ls_flags == DLMGMT_PERSIST);
611 dlmgmt_db_req_tail = dlmgmt_db_req_head = req;
620 dlmgmt_process_db_onereq(dlmgmt_db_req_t *req, boolean_t writeop)
627 DLMGMT_MAKE_FILE_DB_PATH(file, (req->ls_flags == DLMGMT_PERSIST));
628 fp = dlmgmt_zfopen(file, "r", req->ls_zoneid, &err);
640 nfp = dlmgmt_zfopen(newfile, "w", req->ls_zoneid, &err);
653 if ((err = process_db_write(req, fp, nfp)) == 0)
654 err = dlmgmt_zrename(newfile, file, req->ls_zoneid);
656 err = process_db_read(req, fp);
663 (void) dlmgmt_zunlink(newfile, req->ls_zoneid);
673 dlmgmt_db_req_t *req;
678 while ((req = dlmgmt_db_req_head) != NULL) {
679 assert(req->ls_flags == DLMGMT_PERSIST);
680 if (dlmgmt_process_db_onereq(req, B_TRUE) == EINPROGRESS) {
695 dlmgmt_db_req_head = req->ls_next;
696 if (dlmgmt_db_req_tail == req) {
700 free(req);
967 process_db_write(dlmgmt_db_req_t *req, FILE *fp, FILE *nfp)
972 boolean_t persist = (req->ls_flags == DLMGMT_PERSIST);
976 writeall = (req->ls_linkid == DATALINK_ALL_LINKID);
978 if (req->ls_op == DLMGMT_DB_OP_WRITE && !writeall) {
982 linkp = link_by_id(req->ls_linkid, req->ls_zoneid);
983 if (linkp == NULL || (linkp->ll_flags & req->ls_flags) == 0) {
993 * the new name, and req->ls_link is the old link name.
995 rename = (strcmp(req->ls_link, linkp->ll_link) != 0);
1024 switch (req->ls_op) {
1040 req->ls_zoneid);
1042 if (writeall || strcmp(req->ls_link,
1049 req->ls_zoneid);
1050 err = dlmgmt_attr_rename(dblinkp, req->ls_link,
1067 if (strcmp(req->ls_link, link_in_file.ll_link) != 0) {
1086 if (req->ls_op == DLMGMT_DB_OP_WRITE && !writeall && !rename && !done) {
1097 process_db_read(dlmgmt_db_req_t *req, FILE *fp)
1121 if ((req->ls_flags & DLMGMT_ACTIVE) &&
1127 link_in_file.ll_zoneid = req->ls_zoneid;
1137 if (link_in_db->ll_flags & req->ls_flags) {
1143 if (req->ls_flags & DLMGMT_PERSIST) {
1154 link_in_db->ll_flags |= req->ls_flags;
1182 if ((req->ls_flags & DLMGMT_ACTIVE) &&
1202 newlink->ll_flags |= req->ls_flags;
1393 dlmgmt_db_req_t *req;
1397 if ((req = dlmgmt_db_req_alloc(DLMGMT_DB_OP_READ, NULL,
1401 if ((err = dlmgmt_process_db_req(req)) != 0) {
1413 req->ls_flags = DLMGMT_PERSIST;
1414 err = dlmgmt_process_db_req(req);
1424 req->ls_op = DLMGMT_DB_OP_WRITE;
1425 req->ls_linkid = DATALINK_ALL_LINKID;
1426 if ((err = dlmgmt_process_db_req(req)) != 0 &&
1439 free(req);