Print this page
8890 ipfilter and nfs/server are locked in death race

@@ -30,42 +30,10 @@
 
 . /lib/svc/share/smf_include.sh
 . /lib/svc/share/ipf_include.sh
 zone=`smf_zonename`
 
-#
-# Handling a corner case here. If we were in offline state due to an
-# unsatisfied dependency, the ipf_method process wouldn't have generated
-# the ipfilter configuration. When we transition to online because the
-# dependency is satisfied, the start method will have to generate the
-# ipfilter configuration. To avoid all possible deadlock scenarios,
-# we restart ipfilter which will regenerate the ipfilter configuration
-# for the entire system.
-#
-# The ipf_method process signals that it didn't generate ipf rules by
-# removing the service's ipf file. Thus we only restart network/ipfilter
-# when the file is missing.
-#
-configure_ipfilter()
-{
-        ipfile=`fmri_to_file $SMF_FMRI $IPF_SUFFIX`
-        ip6file=`fmri_to_file $SMF_FMRI $IPF6_SUFFIX`
-        [ -f "$ipfile" -a -f "$ip6file" ] && return 0
-
-        #
-        # Nothing to do if:
-        # - ipfilter isn't online 
-        # - global policy is 'custom'
-        # - service's policy is 'use_global'
-        #
-        service_check_state $IPF_FMRI $SMF_ONLINE || return 0
-        [ "`get_global_def_policy`" = "custom" ] && return 0
-        [ "`get_policy $SMF_FMRI`" = "use_global" ] && return 0
-
-        svcadm restart $IPF_FMRI
-}
-
 case "$1" in
 'start')
         # The NFS server is not supported in a local zone
         if smf_is_nonglobalzone; then
                 /usr/sbin/svcadm disable -t svc:/network/nfs/server

@@ -99,12 +67,10 @@
                 /usr/sbin/svcadm mark -t maintenance svc:/network/nfs/server
                 echo "$0: nfsd failed with $rc"
                 sleep 5 &
                 exit $SMF_EXIT_ERR_FATAL
         fi
-
-        configure_ipfilter
         ;;
 
 'refresh')
         /usr/sbin/sharemgr start -P nfs -a
         ;;