The Serial Direct Acess Storage Device (DASD) controller supports up to eight hosts and can fence, or lock out, specified hosts. Fences are established and removed via the Serial DASD subsystem Fence command. Once a fence is established, it can only be removed with another Fence command or by cycling the power to the controller.
Each DASD has an associated two-byte fence register in the controller. A bit set to 1 indicates the host attached to the specified host connector on the back of the controller drawer can only issue the Inquiry, Request Sense, Fence, and Read(10) Serial DASD subsystem commands. The read with reservation (RWR) bit must be set in the command descriptor block. The host connectors on the back of the controller drawer are labeled from 0-7, and the fence register bits are ordered from left to right. The host connector bit is 0.
The following diagram illustrates the Serial DASD Fence command descriptor block:
The command descriptor block for the Fence command contains the following fields:
The Fence command also supplies a method to determine which hosts are currently fenced out as well as which tail the current host is connected via the data returned from the Fence command. The following diagram illustrates the data returned by the Fence command.
A fence cannot be removed by a reset. It can only be removed by cycling power on the controller of the DASD, or by issuing a Fence command.
The Serial DASD subsystem device driver uses the hardware's Mask and Swap fence commands to set and remove fences. The device driver also uses the Mask and Swap fence command with the fence mask set to all zeroes to determine its current host position.
The Serial DASD controller configuration method enables the fencing mechanism. Once enabled, a user can create or remove fences with ioctls to individual DASDs. The device driver maintains a fence by reestablishing it whenever the DASD is powered off and on.
Serial DASD Subsystem Device Driver.
Serial DASD Concurrent Mode of Operation Interface.
Device-Dependent Subroutines for Serial DASD Operations.
Device-Dependent Subroutines for Serial DASD Adapter Operations.
Device-Dependent Subroutines for Serial DASD Controller Operations.
Direct Access Storage Device (DASD) Overview in AIX Version 4.3 Kernel Extensions and Device Support Programming Concepts.