Skip Navigation Links | |
Exit Print View | |
![]() |
Oracle Solaris Cluster Data Services Developer's Guide Oracle Solaris Cluster 4.1 |
1. Overview of Resource Management
3. Resource Management API Reference
6. Data Service Development Library
8. Sample DSDL Resource Type Implementation
9. Oracle Solaris Cluster Agent Builder
12. Cluster Reconfiguration Notification Protocol
13. Security for Data Services
A. Sample Data Service Code Listings
B. DSDL Sample Resource Type Code Listings
xfnts_monitor_check Method Code Listing
xfnts_monitor_start Method Code Listing
xfnts_monitor_stop Method Code Listing
xfnts_probe Method Code Listing
xfnts_stop Method Code Listing
xfnts_update Method Code Listing
xfnts_validate Method Code Listing
C. Requirements for Non-Cluster-Aware Applications
D. Document Type Definitions for the CRNP
The RGM runs the Start method on a cluster node when the resource group that contains the data service resource is brought online on that node. The RGM also does so when the resource is enabled. The xfnts_start method activates the xfs daemon on that node.
Example B-6 xfnts_start.c
/* * Copyright (c) 1998, 2012, Oracle and/or its affiliates. * All rights reserved. * * xfnts_svc_start.c - Start method for HA-XFS */ #pragma ident “@(#)xfnts_svc_start.c 1.13 01/01/18 SMI” #include <rgm/libdsdev.h> #include “xfnts.h” /* * The start method for HA-XFS. Does some sanity checks on * the resource settings then starts the HA-XFS under PMF with * an action script. */ int main(int argc, char *argv[]) { scds_handle_t scds_handle; int rc; /* * Process all the arguments that have been passed to us from RGM * and do some initialization for syslog */ if (scds_initialize(&scds_handle, argc, argv) != SCHA_ERR_NOERR) { scds_syslog(LOG_ERR, “Failed to initialize the handle.”); return (1); } /* Validate the configuration and if there is an error return back */ rc = svc_validate(scds_handle); if (rc != 0) { scds_syslog(LOG_ERR, “Failed to validate configuration.”); return (rc); } /* Start the data service, if it fails return with an error */ rc = svc_start(scds_handle); if (rc != 0) { goto finished; } /* Wait for the service to start up fully */ scds_syslog_debug(DBG_LEVEL_HIGH, “Calling svc_wait to verify that service has started.”); rc = svc_wait(scds_handle); scds_syslog_debug(DBG_LEVEL_HIGH, “Returned from svc_wait”); if (rc == 0) { scds_syslog(LOG_INFO, “Successfully started the service.”); } else { scds_syslog(LOG_ERR, “Failed to start the service.”); } finished: /* Free up the Environment resources that were allocated */ scds_close(&scds_handle); return (rc); }