 |
Index for Section 4 |
|
 |
Alphabetical listing for E |
|
 |
Bottom of page |
|
emx_data.c(4)
NAME
emx_data.c - Configuration file for the emx device driver
SYNOPSIS
/sys/data/emx_data.c
DESCRIPTION
Refer to emx(7) for a general overview of the emx device driver.
This file specifies how the system recognizes Fibre Channel devices. Each
device that uses the emx driver has a unique Fibre Channel Worldwide name.
For each host adapter on the system, the Worldwide name is mapped to a
device Target ID.
When you delete a device, replace a device, or both, you must modify the
Target ID mappings. To achieve symmetrical configurations in a cluster you
also need to modify the Target ID mappings.
Note
Use the emxmgr utility to modify mappings and avoid editing the
/sys/data/emx_data.c file manually. If you must make manual edits
to the file, use extreme caution.
Target ID Mappings
The table governing the Target ID mappings consists of a series of records,
each containing the following elements:
instance
This identifies the emx adapter instance whose mapping is to be modified.
For example: 0 (zero) refers to emx0.
cam_tgt_id
This field contains the CAM Target ID that is to represent the device
when seen on the indicated adapter instance (for example, when seen on
emx0).
port_name/node_name
The Fibre Channel Worldwide names that identify the device.
Note that the 16-bit Fibre Channel Port Name and Node Name values are
byte-swapped due to endian-ness of the machine (for example, 0x0050 is
actually byte values 50 followed by 00). Thus, when comparing with values
with those reported by the HSG80, the following node names are
equivalent:
from HSG80: 5000-1fe1-0000-0770
from emx.info: { ... 0x0050, 0xe11f, 0x0000, 0x7007 },
For example, the following entry indicates that the device with the
Worldwide portname and nodename of 5000-1fe1-0000-0cb1/5000-1fe1-0000-
0cb0, is to be assigned Target ID 3 on the scsi bus attached to emx0:
{0, 3, 0x0050, 0xe11f, 0x0000, 0xb10c, 0x0050, 0xe11f, 0x0000, 0xb00c},
How Mappings are Manipulated in the File
Each mapping entry consists of an EMX_FCPID_RECORD entry containing the
host adapter instance, the cam_tgt_id, of the device and the
portname/nodename of the device. It is the cam_tgt_id field that reflects
the mapping of a specific device to a Fibre Channel Worldwide name.
Initial mappings are created by the emx driver which also writes a text
version of the mapping into the file /etc/emx.info.
If the /sys/data/emx_data.c must be changed manually, use the following
procedure to ensure that the correct Fibre Channel Worldwide name is
entered:
· In /etc/emx.info, find the EMX_FCPID_RECORD entry that corresponds to
an existing Target ID mapping for the required host adapter.
· Cut and paste the entry into the /sys/data/emx_data.c file using a
text editor.
· In the new EMX_FCPID_RECORD in the /sys/data/emx_data.c file, change
only the cam_tgt_id field to manipulate the new mapping.
For example, when changing the Target ID of the device named in the
preceding example, the following EMX_FCPID_RECORD is added to the
/sys/data/emx_data.c file:
{0, 5, 0x0050, 0xe11f, 0x0000, 0xb10c, 0x0050, 0xe11f, 0x0000, 0xb00c},
To delete Target ID mappings, a negative cam_tgt_id value is entered for
the device. For example, to delete the mapping for the preceding device
entries, the following entry is added to the /sys/data/emx_data.c file:
{0, -1, 0x0050, 0xe11f, 0x0000, 0xb10c, 0x0050, 0xe11f, 0x0000, 0xb00c},
Following such manual modifications to /sys/data/emx_data.c, you must
configure the kernel as described in the following procedure:
1. Use the doconfig command to generate a new kernel. This step compiles
the revised /sys/data/emx_data.c file into the kernel.
2. Move the new kernel to /vmunix
3. Reboot the local system on the new kernel to cause the change in
mappings to occur. Note that on clusters, mapping changes for non-
local host adapters will be updated immediately.
As the updated mappings will subsequently be written to the emx drivers on
disk data file (/etc/emx.db and /etc/emx.db.bak) and all subsequent boots
will inherit the values from the on-disk files.
Note
If obsolete values are left in the kernel they are an integral
part of the kernel they are compiled into. This is useful if the
on-disk data files are lost or corrupted. However, this may be a
significant problem if the resulting kernel (containing the
emx_data.c table entries) is copied to a different system.
Obsolete values may also cause problems if you are using emxmgr
to manage mappings.
Internal Processing
Internally, when the emx driver processes the fcpid table, the following
changes take place:
· If the cam_tgt_id field value matches an entry in the existing Target
ID mappings for the host adapter instance, the existing Target ID
mapping is deleted.
· If the device indicated by the Worldwide names already exists in the
Target Id mappings for the adapter instance, the existing entry for
the device is deleted.
· If the cam_tgt_id field is non-negative, the fcpid table entry is then
added to the mapping table.
· After all table entries are process and the root file system is
writable, the updated Target ID mappings are written to disk.
Clusters and Symmetry
TruClusters for the V4.0X releases commonly require symmetrical
configurations. For Fibre Channel, in addition to needing each adapter
configured into the system symmetrically, the Target ID mappings on each
cluster member also need to be symmetrically assigned. Refer to the
Clusters documentation for a description of how to achieve symmetry.
FILES
/sbin/emxmgr
The utility that you use to maintain Fibre Channel worldwide name to
target ID mappings.
/etc/emx.db
The binary file containing the persistent CAM Target Id to Fibre
Channel N*_Ports mappings for each emx adapter.
/etc/emx.db.bak
A backup copy of the /etc/emx.db file.
/etc/emx.info
Text file representing the contents of the /etc/emx.db file. This is a
readable form of the persistent CAM Target ID to Fibre Channel N*_Ports
mappings for each emx adapter.
Note
This file does not reflect current connectivity, as devices
may not be present, but their Target ID mappings will
continue to persist.
RELATED INFORMATION
emx(7), emxmgr(8).
SCSI(7), rz(7), disklabel(8), doconfig(8).
 |
Index for Section 4 |
|
 |
Alphabetical listing for E |
|
 |
Top of page |
|