| Current File : //etc/devices/inception_points |
#
# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
#
#
# Customers should not modify this file unless explicitedly directed to do so.
#
# Each non-comment line of the file defines one 'inception_point' keyword.
#
# Each 'inception_point' keyword is associated with a new, but incompatible,
# method of doing something. Typically, a new post-inception_point method is
# established via install: upgrade operation continues in legacy
# pre-inception_point mode. If a keyword is established by other means, expect
# some type of incompatible, and possibly destructive, change on reboot.
#
# An API is provided to determine if the system is running in pre or post
# inception_point keyword mode. The code associated with testing a keyword
# looks something like
#
# if (ddi_inception_point_established("keyword")) {
# post-inception_point implementation
# } else {
# legacy pre-inception_point implementation
# }
#
# By tracking when inception points are introduced into this file, relative
# to associated environment at the time of that introduction, future Solaris
# developers can recognize opportunities to remove pre-inception_point code
# and delete the inception-point definition. This opportunities will often
# relate to platform EOL.
#
# In summary, the 'inception_point' mechanism gives us a way of both
# introducing incompatible change, and (eventually) retiring legacy code.
#
# inception_point keyword descriptions and definitions follow:
# scsa-no-binding-set-fcp/scsa-no-binding-set-vhci:
# When these inception points are established the
#
# scsi_hba.c:scsi_hba_nodename_compatible_get()
#
# code no longer needs to create an fcp or vhci binding-set specific
# compatible form. One result of not having this form is that a "disk@"
# generic node-names will be created for SPARC FC/leadville /devices
# paths instead of "ssd@" names. This is particularly important for MPxIO,
# where the vHCI and all pHCIs need to agree on a node-name.
#scsa-no-binding-set-fcp
#scsa-no-binding-set-vhci
# scsa-binding-set-fcp-0x<dtype>/scsa-binding-set-vhci-0x<dtype>
# For many dtype values, like 00/'disk', switching driver binding and
# node-name via scsa-no-binding-set-fcp/scsa-no-binding-set-vhci
# does not cause an incompatible change. This is because the associated
# devfsadm(1M) link generator code produces the same result either way.
# For other dtype values, like 01/'tape' and 0d/'enclosure', the link
# generator code will produce an incompatible new public /dev name when
# the node-name@ changes.
#
# To limit incompatible change, we use an inception-point keyword that
# includes <dtype> that forces generation of binding-set compatible forms
# even when scsa-no-binding-set-fcp/scsa-no-binding-set-vhci are defined.
#scsa-binding-set-fcp-0x01
#scsa-binding-set-vhci-0x01
#scsa-binding-set-fcp-0x0d
#scsa-binding-set-vhci-0x0d
# NOTE: Add new inception points here ...