2614 nfs logging works incorrectly
Reviewed by: Albert Lee <
[email protected]>
Reviewed by: T Nguyen <
[email protected]>
Reviewed by: Garrett D'Amore <
[email protected]>
Approved by: Garrett D'Amore <
[email protected]>
--- a/usr/src/cmd/fs.d/nfs/svc/Makefile Tue Jun 05 10:09:55 2012 -0700
+++ b/usr/src/cmd/fs.d/nfs/svc/Makefile Tue Jun 05 10:19:22 2012 -0700
@@ -22,11 +22,13 @@
# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-# ident "%Z%%M% %I% %E% SMI"
+# Copyright 2012 Nexenta Systems, Inc. All rights reserved.
+
+#
#
MANIFEST= server.xml client.xml rquota.xml mapid.xml nlockmgr.xml \
- status.xml cbd.xml
+ status.xml cbd.xml nfslogd.xml
SVCMETHOD= nfs-server nfs-client nlockmgr
include $(SRC)/cmd/Makefile.cmd
--- a/usr/src/cmd/fs.d/nfs/svc/nfs-server Tue Jun 05 10:09:55 2012 -0700
+++ b/usr/src/cmd/fs.d/nfs/svc/nfs-server Tue Jun 05 10:19:22 2012 -0700
@@ -21,6 +21,7 @@
#
#
# Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright 2012 Nexenta Systems, Inc. All rights reserved.
#
# Start/stop processes required for server NFS
@@ -132,26 +133,6 @@
/usr/sbin/sharemgr stop -P nfs -a
- #
- # Wait up to 10 seconds for nfslogd to gracefully handle SIGHUP
- #
- /usr/bin/pkill -HUP -x -u 0 -z $zone nfslogd
- wtime=10
-
- while [ $wtime -gt 0 ]; do
- /usr/bin/pgrep -x -u 0 -z $zone nfslogd >/dev/null || break
- wtime=`expr $wtime - 1`
- sleep 1
- done
-
- #
- # Kill nfslogd more forcefully if it did not shutdown during
- # the grace period
- #
- if [ $wtime -eq 0 ]; then
- /usr/bin/pkill -TERM -x -u 0 -z $zone nfslogd
- fi
-
# Kill any processes left in service contract
smf_kill_contract $2 TERM 1
[ $? -ne 0 ] && exit 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/usr/src/cmd/fs.d/nfs/svc/nfslogd.xml Tue Jun 05 10:19:22 2012 -0700
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<!--
+ This file and its contents are supplied under the terms of the
+ Common Development and Distribution License ("CDDL"), version 1.0.
+ You may only use this file in accordance with the terms of version
+ 1.0 of the CDDL.
+
+ A full copy of the text of the CDDL should have accompanied this
+ source. A copy of the CDDL is also available via the Internet at
+ http://www.illumos.org/license/CDDL.
+
+
+ Copyright 2012 Nexenta Systems, Inc. All rights reserved.
+-->
+
+<service_bundle type='manifest' name='SUNWnfssr:nfslogd'>
+
+<service
+ name='network/nfs/log'
+ type='service'
+ version='1'>
+
+ <dependency name='nfs-server'
+ grouping='require_all'
+ restart_on='refresh'
+ type='service'>
+ <service_fmri value='svc:/network/nfs/server' />
+ </dependency>
+
+ <dependency name='filesystem-minimal'
+ grouping='require_all'
+ restart_on='error'
+ type='service'>
+ <service_fmri value='svc:/system/filesystem/minimal' />
+ </dependency>
+
+ <exec_method
+ type='method'
+ name='start'
+ exec='/usr/lib/nfs/nfslogd'
+ timeout_seconds='60' />
+
+ <exec_method
+ type='method'
+ name='stop'
+ exec=':kill -TERM'
+ timeout_seconds='10' />
+
+ <instance name='default' enabled='false'>
+ </instance>
+
+ <stability value='Stable' />
+
+ <template>
+ <common_name>
+ <loctext xml:lang='C'>
+ NFS log daemon
+ </loctext>
+ </common_name>
+ <documentation>
+ <manpage title='nfslogd' section='1M'
+ manpath='/usr/share/man' />
+ </documentation>
+ </template>
+</service>
+
+</service_bundle>