Project

General

Profile

Bug #2802

ipsecalgs needs a dependency upon filesystem

Added by Garrett D'Amore over 8 years ago. Updated over 8 years ago.

Status:
Resolved
Priority:
Normal
Category:
cmd - userland programs
Start date:
2012-05-30
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

The ipsecalgs service tries to start very asynchronously, which is ambitious. It doesn't operate properly if /usr/ hasn't been mounted, or if devfsadm hasn't been to populate the right thing in the kernel. We should make it wait until regular local filesystems are mounted.

(We ran into this as a result of our unique distribution, which uses a split /usr. I imagine that SmartOS could run into the same problems as well.)

#1

Updated by Garrett D'Amore over 8 years ago

After discussion with Dan McDonald, I have developed the following solution:


--- a/usr/src/cmd/cmd-inet/usr.sbin/ipsecutils/ipsecalgs.xml
+++ b/usr/src/cmd/cmd-inet/usr.sbin/ipsecutils/ipsecalgs.xml
@@ -4,6 +4,8 @@
        Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
        Use is subject to license terms.

+       Copyright (c) 2012 DEY Storage Systems, Inc.  All rights reserved.
+
  CDDL HEADER START

  The contents of this file are subject to the terms of the
@@ -23,8 +25,6 @@

  CDDL HEADER END

-       ident   "%Z%%M% %I%     %E% SMI" 
-
        NOTE:  This service manifest is not editable; its contents will
        be overwritten by package or patch operations, including
        operating system upgrade.  Make customizations in a different
@@ -59,6 +59,22 @@
                 <service_fmri value='file://localhost/etc/inet/ipsecalgs' />
         </dependency>

+       <dependency
+               name='filesystem'
+               grouping='require_all'
+               type='service'
+               restart_on='error'>
+               <service_fmri value='svc:/system/filesystem/usr' />
+       </dependency>
+
+       <dependency
+               name='devices'
+               grouping='require_all'
+               type='service'
+               restart_on='none'>
+               <service_fmri value='svc:/system/device/local' />
+       </dependency>
+
        <dependent
#2

Updated by Garrett D'Amore over 8 years ago

Note that its not just filesystem/local, but also the devices, which need to be explicitly represented in the dependency.

#3

Updated by Garrett D'Amore over 8 years ago

  • Status changed from New to Resolved
  • Tags deleted (needs-triage)

Fixed in:

changeset: 13712:236e80401f3d
tag: tip
user: Garrett D'Amore <>
date: Tue Jun 05 12:45:22 2012 -0700
description:
2802 ipsecalgs needs a dependency upon filesystem
Reviewed by: Kartik Mistry <>
Reviewed by: Alexander Eremin <>
Reviewed by: Jason King <>
Reviewed by: Dan McDonald <>
Approved by: Richard Lowe <>

Also available in: Atom PDF