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