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 30 NOTE: This service manifest is not editable; its contents will 31 be overwritten by package or patch operations, including 32 operating system upgrade. Make customizations in a different 33 file. 34 35 Note: if this service is modified to consist of anything other 36 than a single instance named 'default', you must make changes to 37 $SRC/head/rpcsvc/daemon_utils.h and libnsl:open_daemon_lock(). 38 --> 39 40 <service_bundle type='manifest' name='SUNWnfssr:nfs-server'> 41 42 <service 43 name='network/nfs/server' 44 type='service' 45 version='2'> 46 47 <dependency name='network' 48 grouping='require_any' 49 restart_on='error' 50 type='service'> 51 <service_fmri value='svc:/milestone/network' /> 52 </dependency> 53 54 <dependency name='nlockmgr' 55 grouping='require_all' 56 restart_on='error' 57 type='service'> 58 <service_fmri value='svc:/network/nfs/nlockmgr' /> 59 </dependency> 60 61 <dependency name='mapid' 62 grouping='optional_all' 63 restart_on='error' 64 type='service'> 65 <service_fmri value='svc:/network/nfs/mapid' /> 66 </dependency> 67 68 <dependency name='rpcbind' 69 grouping='require_all' 70 restart_on='restart' 71 type='service'> 72 <service_fmri value='svc:/network/rpc/bind' /> 73 </dependency> 74 75 <dependency name='keyserv' 76 grouping='optional_all' 77 restart_on='none' 78 type='service'> 79 <service_fmri value='svc:/network/rpc/keyserv' /> 80 </dependency> 81 82 <dependency name='gss' 83 grouping='optional_all' 84 restart_on='none' 85 type='service'> 86 <service_fmri value='svc:/network/rpc/gss' /> 87 </dependency> 88 89 <dependency name='share-group' 90 grouping='optional_all' 91 restart_on='none' 92 type='service'> 93 <service_fmri value='svc:/network/shares/group' /> 94 </dependency> 95 96 <dependency name='reparse' 97 grouping='optional_all' 98 restart_on='none' 99 type='service'> 100 <service_fmri value='svc:/system/filesystem/reparse' /> 101 </dependency> 102 103 <!-- Must have all local filesystems mounted before we share them --> 104 <dependency name='filesystem-local' 105 grouping='require_all' 106 restart_on='error' 107 type='service'> 108 <service_fmri value='svc:/system/filesystem/local' /> 109 </dependency> 110 111 <dependent 112 name='nfs-server_multi-user-server' 113 grouping='optional_all' 114 restart_on='none'> 115 <service_fmri value='svc:/milestone/multi-user-server' /> 116 </dependent> 117 118 <!-- 119 The shareall done as part of the nfs-server method may take a 120 long time, as the contents of dfstab can be arbitrarily large. 121 Set the timeout appropriately for both 'start' and 'refresh'. 122 --> 123 <exec_method 124 type='method' 125 name='start' 126 exec='/lib/svc/method/nfs-server %m' 127 timeout_seconds='3600' /> 128 129 <exec_method 130 type='method' 131 name='refresh' 132 exec='/lib/svc/method/nfs-server %m' 133 timeout_seconds='3600' /> 134 135 <!-- 136 The stop method runs unshareall as well as up to a 10 second 137 sleep to do graceful versus forceful shutdown of daemons. Set 138 the timeout appropriately. 139 --> 140 <exec_method 141 type='method' 142 name='stop' 143 exec='/lib/svc/method/nfs-server %m %{restarter/contract}' 144 timeout_seconds='3600' /> 145 146 <property_group name='application' type='framework'> 147 <stability value='Evolving' /> 148 <propval name='auto_enable' type='boolean' value='true' /> 149 </property_group> 150 151 <property_group name='firewall_context' type='com.sun,fw_definition'> 152 <propval name='name' type='astring' value='nfsd' /> 153 <propval name='ipf_method' type='astring' 154 value='/lib/svc/method/nfs-server ipfilter' /> 155 </property_group> 156 157 <property_group name='firewall_config' type='com.sun,fw_configuration'> 158 <propval name='policy' type='astring' value='use_global' /> 159 <propval name='block_policy' type='astring' 160 value='use_global' /> 161 <propval name='apply_to' type='astring' value='' /> 162 <propval name='apply_to_6' type='astring' value='' /> 163 <propval name='exceptions' type='astring' value='' /> 164 <propval name='exceptions_6' type='astring' value='' /> 165 <propval name='target' type='astring' value='' /> 166 <propval name='target_6' type='astring' value='' /> 167 <propval name='value_authorization' type='astring' 168 value='solaris.smf.value.firewall.config' /> 169 </property_group> 170 <instance name='default' enabled='false'> 171 <property_group name='nfs-props' type='com.oracle.nfs,props'> 172 <propval name='device' type='astring' value=''/> 173 <propval name='listen_backlog' type='integer' value='32'/> 174 <propval name='max_connections' type='integer' value='-1'/> 175 <propval name='protocol' type='astring' value='ALL'/> 176 <propval name='server_delegation' type='astring' value='on'/> 177 <propval name='server_versmax' type='integer' value='4'/> 178 <propval name='server_versmin' type='integer' value='2'/> 179 <propval name='servers' type='integer' value='1024'/> 180 <propval name='mountd_listen_backlog' type='integer' value='64'/> 181 <propval name='mountd_max_threads' type='integer' value='16'/> 182 <propval name='mountd_port' type='integer' value='0'/> 183 </property_group> 184 </instance> 185 186 <stability value='Stable' /> 187 188 <template> 189 <common_name> 190 <loctext xml:lang='C'> 191 NFS server 192 </loctext> 193 </common_name> 194 <documentation> 195 <manpage title='nfsd' section='1M' 196 manpath='/usr/share/man' /> 197 </documentation> 198 </template> 199 </service> 200 201 </service_bundle>