9687 SMF service cannot be disabled

Review Request #497 - Created Aug. 1, 2018 and updated

Information
Andrew Stormont
illumos-gate
9687
f86c22f...
Reviewers
general

When a service or administrator requests that a service instance is disabled the GV_TOOFFLINE and GV_TODISABLE flags are set on it, and it is taken offline. When entering offline state GV_TOOFFLINE is cleared and if GV_TODISABLE is set, another request is sent to begin the transition into disabled state. Or at least this is what should happen. Currently the code checks GV_ENABLED instead, which sometimes means services are brought back online or fail to transition at all.

Most notably this is seen when a service is stuck in maintaince mode and doesn't transition to disabled until it is cleared.

Put service into stuck state by manipulating properties using svccfg. Prior to the fix, restarting svc.startd was not enough to force a transition into the correct state. After the fix, it was.

Toomas Soome
Gergő Mihály Doma
Andrew Stormont
Dan McDonald
Toomas Soome
Andrew Stormont
Andrew Stormont
Andrew Stormont
Review request changed

Testing Done:

~  

Put service into desired state by manipulating properties using svccfg. Prior to the fix, restarting svc.startd was not enough to force a transition into the correct state. After the fix, it was.

  ~

Put service into stuck state by manipulating properties using svccfg. Prior to the fix, restarting svc.startd was not enough to force a transition into the correct state. After the fix, it was.

Gergő Mihály Doma
Ship It!
Loading...