Print this page
12721 would like svcadm disable -c
*** 19,29 ****
* CDDL HEADER END
*/
/*
* Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
! * Copyright 2019 Joyent, Inc.
* Copyright (c) 2015, 2016 by Delphix. All rights reserved.
*/
/*
* svcs - display attributes of service instances
--- 19,29 ----
* CDDL HEADER END
*/
/*
* Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
! * Copyright 2020 Joyent, Inc.
* Copyright (c) 2015, 2016 by Delphix. All rights reserved.
*/
/*
* svcs - display attributes of service instances
*** 85,98 ****
#define TEXT_DOMAIN "SUNW_OST_OSCMD"
#endif /* TEXT_DOMAIN */
#define LEGACY_UNKNOWN "unknown"
- /* Flags for pg_get_single_val() */
- #define EMPTY_OK 0x01
- #define MULTI_OK 0x02
-
/*
* Per proc(4) when pr_nlwp, pr_nzomb, and pr_lwp.pr_lwpid are all 0,
* the process is a zombie.
*/
#define IS_ZOMBIE(_psip) \
--- 85,94 ----
*** 407,417 ****
}
}
switch (ty) {
case SCF_TYPE_ASTRING:
! r = scf_value_get_astring(g_val, vp, sz) > 0 ? SCF_SUCCESS : -1;
break;
case SCF_TYPE_BOOLEAN:
r = scf_value_get_boolean(g_val, (uint8_t *)vp);
break;
--- 403,419 ----
}
}
switch (ty) {
case SCF_TYPE_ASTRING:
! r = scf_value_get_astring(g_val, vp, sz);
! if (r == 0 && !(flags & EMPTY_OK)) {
! uu_die(gettext("Unexpected empty string for property "
! "%s. Exiting.\n"), propname);
! }
! if (r >= 0)
! r = SCF_SUCCESS;
break;
case SCF_TYPE_BOOLEAN:
r = scf_value_get_boolean(g_val, (uint8_t *)vp);
break;
*** 2475,2484 ****
--- 2477,2501 ----
} else if (perm != -1) {
(void) printf(fmt, DETAILED_WIDTH, gettext("enabled"),
perm ? gettext("true") : gettext("false"));
}
+ if (temp == 0 || (temp == -1 && perm == 0)) {
+ char comment[SCF_COMMENT_MAX_LENGTH] = "";
+ const char *pg = (temp != -1 && temp != perm) ?
+ SCF_PG_GENERAL_OVR : SCF_PG_GENERAL;
+
+ (void) inst_get_single_val(wip->inst, pg, SCF_PROPERTY_COMMENT,
+ SCF_TYPE_ASTRING, &comment, sizeof (comment),
+ EMPTY_OK, 0, 0);
+
+ if (comment[0] != '\0') {
+ printf(fmt, DETAILED_WIDTH, gettext("comment"),
+ comment);
+ }
+ }
+
/*
* Property values may be longer than max_scf_fmri_length, but these
* shouldn't be, so we'll just reuse buf. The user can use svcprop if
* they suspect something fishy.
*/