changeset 13711:0765d0ec4e2a

2614 nfs logging works incorrectly Reviewed by: Albert Lee <trisk@nexenta.com> Reviewed by: T Nguyen <truongqnguien@gmail.com> Reviewed by: Garrett D'Amore <garrett@damore.org> Approved by: Garrett D'Amore <garrett@damore.org>
author Vitaliy Gusev <gusev.vitaliy@nexenta.com>
date Tue, 05 Jun 2012 10:19:22 -0700
parents 3cee4ba952f0
children 236e80401f3d
files usr/src/cmd/fs.d/nfs/svc/Makefile usr/src/cmd/fs.d/nfs/svc/nfs-server usr/src/cmd/fs.d/nfs/svc/nfslogd.xml
diffstat 3 files changed, 73 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- 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>