devchassis - device name file system
The chassis subdirectory of the /dev devfs(4FS) file system provides a location-oriented name space. The /dev/chassis name space is maintained by the devchassisd(8) 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>[[/receptacle-name]* [/<occupant-type> -> /devices/...]]
An empty receptacle is represented as an empty directory.
If an fmadm(8)—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 <receptacle-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(8) 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(8) and devchassisd(8) operation is coordinated using the contents of /etc/dev/cro_db. This same data file is also used by the croinfo(8) utility.
Directory under the /dev file system mount point that provides, when possible, a location-oriented device name space.
Data file created by fmd(8) 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(8) and devchassisd(8) are running. If devchassisd(8) is not running, the /dev/chassis name space does not exist.
Gaps in fmd(8) topology representation result in gaps in the /dev/chassis name space.