1<?xml version="1.0"?> 2<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> 3<!-- 4 5 CDDL HEADER START 6 7 The contents of this file are subject to the terms of the 8 Common Development and Distribution License (the "License"). 9 You may not use this file except in compliance with the License. 10 11 You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 12 or http://www.opensolaris.org/os/licensing. 13 See the License for the specific language governing permissions 14 and limitations under the License. 15 16 When distributing Covered Code, include this CDDL HEADER in each 17 file and include the License file at usr/src/OPENSOLARIS.LICENSE. 18 If applicable, add the following below this CDDL HEADER, with the 19 fields enclosed by brackets "[]" replaced with your own identifying 20 information: Portions Copyright [yyyy] [name of copyright owner] 21 22 CDDL HEADER END 23 24 Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 25 Copyright (c) 2012 by Delphix. All rights reserved. 26 Copyright 2014 Nexenta Systems, Inc. All rights reserved 27 Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org> 28 Copyright (c) 2012, 2014 by Delphix. All rights reserved. 29 Copyright 2022 RackTop Systems. 30 31 NOTE: This service manifest is not editable; its contents will 32 be overwritten by package or patch operations, including 33 operating system upgrade. Make customizations in a different 34 file. 35 36 Note: if this service is modified to consist of anything other 37 than a single instance named 'default', you must make changes to 38 $SRC/head/rpcsvc/daemon_utils.h and libnsl:open_daemon_lock(). 39--> 40 41<service_bundle type='manifest' name='SUNWnfssr:nfs-server'> 42 43<service 44 name='network/nfs/server' 45 type='service' 46 version='2'> 47 48 <dependency name='network' 49 grouping='require_any' 50 restart_on='error' 51 type='service'> 52 <service_fmri value='svc:/milestone/network' /> 53 </dependency> 54 55 <dependency name='nlockmgr' 56 grouping='require_all' 57 restart_on='error' 58 type='service'> 59 <service_fmri value='svc:/network/nfs/nlockmgr' /> 60 </dependency> 61 62 <dependency name='mapid' 63 grouping='optional_all' 64 restart_on='error' 65 type='service'> 66 <service_fmri value='svc:/network/nfs/mapid' /> 67 </dependency> 68 69 <dependency name='rpcbind' 70 grouping='require_all' 71 restart_on='restart' 72 type='service'> 73 <service_fmri value='svc:/network/rpc/bind' /> 74 </dependency> 75 76 <dependency name='keyserv' 77 grouping='optional_all' 78 restart_on='none' 79 type='service'> 80 <service_fmri value='svc:/network/rpc/keyserv' /> 81 </dependency> 82 83 <dependency name='gss' 84 grouping='optional_all' 85 restart_on='none' 86 type='service'> 87 <service_fmri value='svc:/network/rpc/gss' /> 88 </dependency> 89 90 <dependency name='share-group' 91 grouping='optional_all' 92 restart_on='none' 93 type='service'> 94 <service_fmri value='svc:/network/shares/group' /> 95 </dependency> 96 97 <dependency name='reparse' 98 grouping='optional_all' 99 restart_on='none' 100 type='service'> 101 <service_fmri value='svc:/system/filesystem/reparse' /> 102 </dependency> 103 104 <!-- Must have all local filesystems mounted before we share them --> 105 <dependency name='filesystem-local' 106 grouping='require_all' 107 restart_on='error' 108 type='service'> 109 <service_fmri value='svc:/system/filesystem/local' /> 110 </dependency> 111 112 <dependent 113 name='nfs-server_multi-user-server' 114 grouping='optional_all' 115 restart_on='none'> 116 <service_fmri value='svc:/milestone/multi-user-server' /> 117 </dependent> 118 119 <!-- 120 The shareall done as part of the nfs-server method may take a 121 long time, as the contents of dfstab can be arbitrarily large. 122 Set the timeout appropriately for both 'start' and 'refresh'. 123 --> 124 <exec_method 125 type='method' 126 name='start' 127 exec='/lib/svc/method/nfs-server %m' 128 timeout_seconds='3600' /> 129 130 <exec_method 131 type='method' 132 name='refresh' 133 exec='/lib/svc/method/nfs-server %m' 134 timeout_seconds='3600' /> 135 136 <!-- 137 The stop method runs unshareall as well as up to a 10 second 138 sleep to do graceful versus forceful shutdown of daemons. Set 139 the timeout appropriately. 140 --> 141 <exec_method 142 type='method' 143 name='stop' 144 exec='/lib/svc/method/nfs-server %m %{restarter/contract}' 145 timeout_seconds='3600' /> 146 147 <property_group name='application' type='framework'> 148 <stability value='Evolving' /> 149 <propval name='auto_enable' type='boolean' value='true' /> 150 </property_group> 151 152 <property_group name='firewall_context' type='com.sun,fw_definition'> 153 <propval name='name' type='astring' value='nfsd' /> 154 <propval name='ipf_method' type='astring' 155 value='/lib/svc/method/nfs-server ipfilter' /> 156 </property_group> 157 158 <property_group name='firewall_config' type='com.sun,fw_configuration'> 159 <propval name='policy' type='astring' value='use_global' /> 160 <propval name='block_policy' type='astring' 161 value='use_global' /> 162 <propval name='apply_to' type='astring' value='' /> 163 <propval name='apply_to_6' type='astring' value='' /> 164 <propval name='exceptions' type='astring' value='' /> 165 <propval name='exceptions_6' type='astring' value='' /> 166 <propval name='target' type='astring' value='' /> 167 <propval name='target_6' type='astring' value='' /> 168 <propval name='value_authorization' type='astring' 169 value='solaris.smf.value.firewall.config' /> 170 </property_group> 171 <instance name='default' enabled='false'> 172 <property_group name='nfs-props' type='com.oracle.nfs,props'> 173 <propval name='device' type='astring' value=''/> 174 <propval name='listen_backlog' type='integer' value='32'/> 175 <propval name='max_connections' type='integer' value='-1'/> 176 <propval name='protocol' type='astring' value='ALL'/> 177 <propval name='server_delegation' type='astring' value='on'/> 178 <propval name='server_versmax' type='astring' value='4'/> 179 <propval name='server_versmin' type='astring' value='2'/> 180 <propval name='servers' type='integer' value='256'/> 181 <propval name='mountd_listen_backlog' type='integer' value='64'/> 182 <propval name='mountd_max_threads' type='integer' value='16'/> 183 <propval name='mountd_port' type='integer' value='0'/> 184 <propval name='mountd_remote_dump' type='boolean' value='false'/> 185 </property_group> 186 </instance> 187 188 <stability value='Stable' /> 189 190 <template> 191 <common_name> 192 <loctext xml:lang='C'> 193 NFS server 194 </loctext> 195 </common_name> 196 <documentation> 197 <manpage title='nfsd' section='8' 198 manpath='/usr/share/man' /> 199 </documentation> 200 </template> 201</service> 202 203</service_bundle> 204