Print this page
usr/src/cmd/dlmgmtd/dlmgmt_door.c
@@ -20,10 +20,11 @@
*/
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2019 Joyent, Inc.
+ * Copyright 2023 Oxide Computer Company
*/
/*
* Main door handler functions used by dlmgmtd to process the different door
* call requests. Door call requests can come from the user-land applications,
@@ -423,12 +424,11 @@
err = ENOSPC;
} else {
retvalp->lr_flags = linkp->ll_flags;
retvalp->lr_class = linkp->ll_class;
retvalp->lr_media = linkp->ll_media;
- retvalp->lr_flags |= (linkp->ll_trans == B_TRUE) ?
- DLMGMT_TRANSIENT : 0;
+ retvalp->lr_flags |= linkp->ll_transient ? DLMGMT_TRANSIENT : 0;
}
dlmgmt_table_unlock();
retvalp->lr_err = err;
@@ -463,10 +463,11 @@
retvalp->lr_linkid = linkp->ll_linkid;
retvalp->lr_flags = linkp->ll_flags;
retvalp->lr_class = linkp->ll_class;
retvalp->lr_media = linkp->ll_media;
+ retvalp->lr_flags |= linkp->ll_transient ? DLMGMT_TRANSIENT : 0;
done:
dlmgmt_table_unlock();
retvalp->lr_err = err;
}
@@ -506,10 +507,11 @@
} else {
retvalp->lr_linkid = linkp->ll_linkid;
retvalp->lr_class = linkp->ll_class;
retvalp->lr_media = linkp->ll_media;
retvalp->lr_flags = linkp->ll_flags;
+ retvalp->lr_flags |= linkp->ll_transient ? DLMGMT_TRANSIENT : 0;
}
dlmgmt_table_unlock();
retvalp->lr_err = err;
}
@@ -1252,11 +1254,10 @@
err = errno;
dlmgmt_log(LOG_WARNING, "unable to remove link %d from "
"zone %d: %s", linkid, oldzoneid, strerror(err));
goto done;
}
-
linkp->ll_onloan = B_FALSE;
}
if (newzoneid != GLOBAL_ZONEID) {
if (zone_add_datalink(newzoneid, linkid) != 0) {