Ssa target mode – Compex Systems Advanced SerialRAID Adapters SA33-3285-02 User Manual

Page 311

Advertising
background image

SSADISK_FORCED_OPEN to the openx subroutine, the reservation is broken, but the
open fails with errno set to ENOCONNECT. To break through the fence, the SSA
logical disk must be opened in SSADISK_FENCEMODE and the SSADISK_ISALCMD
ioctl operation used to issue the appropriate hardware command to break the fence
condition.

SSA Target Mode

The SSA Target-Mode interface (TMSSA) provides node-to-node communication
through the SSA interface. The interface uses two special files that provide a logical
connection to another node. One of the special files (the initiator-mode device) is used
for write operations; the other (the target-mode device) is used for read operations.
Data that is sent to a node is written to the initiator. Data that is read from a node is
read from the target. The special files are:

/dev/tmssaXX.im

The initiator-mode device, which has an even, minor device number, and is
write only.

/dev/tmssaXX.tm

The target-mode device, which has an odd, minor device number, and is read
only.

The device is tmssaXX, where XX is the node number of the using system with which
these files communicate. You are not aware of which path connects the two nodes. The
path can change if, for example, SSA loops are changed, nodes are switched off, or
any other physical change is made to the connected SSA loops. The TMSSA device
driver can use any available path to the other node, but does not tell you which path is
being used. Each node must have in its device configuration database a unique node
number that is defined by the node_number attribute of the ssar device.

Figure 42 shows an example configuration of two nodes. In this example, tmssa is, at
first, using adapter ssa0 on node 1 and adapter ssa5 on node 2. Suddenly, the link

Node 1

Node 2

Adapter

ssa0

Adapter

ssa1

Adapter

ssa2

Adapter

ssa3

Adapter

ssa4

Adapter

ssa5

Figure 42. An Example of Node-to-Node Communications

Chapter 13. Using the Programming Interface

291

Advertising