devchassis - device name file system
The chassis subdirectory of the /dev devfs(7FS) file system provides a location-oriented name space. The /dev/chassis name space is maintained by the devchassisd(1M) smf service. The /dev/chassis name space is structured by chassis, receptacle, and current occupant. Within the chassis/receptacle name space, the current occupant is maintained as a dynamic symlink into the /devices file system.
/dev/chassis/ <chassis-name>.<chassis-serial>[[/receptable-name]* [/<occupant-type> -> /devices/...]]
An empty receptacle is represented as an empty directory.
If an fmadm(1M)—managed <alias-id> exists, then the <chassis-name>.<chassis-serial> is replaced by a managed <alias-id>. A managed <alias-id> can establish the physical location of chassis, like a building, lab, rack, and chassis U-number range inside the rack.
There is always one well-known <alias-id> associated with internal locations: SYS. This <alias-id> cannot be modified.
A <receptable-name> is associated with chassis silk-screen labeling of receptacles (like disk bays). Multiple <receptacle-name> directories can be used before coming to an occupant symlink.
The /dev/chassis name space allows you to administer the machine based on physical location.
# format /dev/chassis/SYS/HD0/disk # zpool create tank mirror \ /dev/chassis/RACK29.U01-04/DISK_00/disk \ /dev/chassis/RACK29.U05-08/DISK_00/disk
fmd(1M) machine topology understanding is required to drive the creation and maintenance of the /dev/chassis name space. If this understanding is lacking, the /dev/chassis name space will be lacking. fmd(1M) and devchassisd(1M)operation is coordinated using the contents of /etc/dev/cro_db. This same data file is also used by the croinfo(1M) utility.
Directory under the /dev file system mount point that provides, when possible, a location-oriented device name space.
Data file created by fmd(1M) used to obtain information about chassis, receptacles, and occupants.
To prevent stale links, the entire /dev/chassis name space is removed during each boot and reestablished when both fmd(1M) and devchassisd(1M) are running. If devchassisd(1M) is not running, the /dev/chassis name space does not exist.
Gaps in fmd(1M) topology representation result in gaps in the /dev/chassis name space.