Print this page
usr/src/cmd/dlmgmtd/dlmgmt_door.c

*** 20,29 **** --- 20,30 ---- */ /* * 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,434 **** 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; } dlmgmt_table_unlock(); retvalp->lr_err = err; --- 424,434 ---- 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_transient ? DLMGMT_TRANSIENT : 0; } dlmgmt_table_unlock(); retvalp->lr_err = err;
*** 463,472 **** --- 463,473 ---- 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,515 **** --- 507,517 ---- } 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,1262 **** 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) { --- 1254,1263 ----