HP SureStore 7400 Linux Configuration HP VA 7100/7400 - Page 6

Device_Not_Ready_2.2.16.patch, Device_Not_Ready_2.2.19.patch, Error_Recovery_2.2.16.patch,

Page 6 highlights

Linux Configuration HP VA 7100/7400 Device_Not_Ready_2.2.16.patch Device_Not_Ready_2.2.19.patch - contains the "device not ready - LUN becoming ready" patch. Error_Recovery_2.2.16.patch Error_Recovery_2.2.19.patch - contains the "refined error recovery" patch. These patches can be applied separately depending upon your requirements. In addition to these prepackaged patches, there is another minor change that should be made prior to re-building the kernel. See the steps under "Install Patches and Rebuild Kernel" below. Before applying any of these patches, be sure to read the descriptions below. There are tradeoffs to be made with the implementation of these patches; you should be aware of the potential impacts of each. 2.1 Command View Patch The Command View patch includes two distinguishable changes. One to set the data direction for vendor-unique commands, and another to allow SCSI Command Data Blocks sized up to 16 bytes to be passed through the kernel. These are described below. 2.1.1 Vendor-Unique Commands Problem synopsis: The Linux 2.2 kernel SCSI generic (sg) API does not contain an explicit data direction field for SCSI commands. The SCSI low-level drivers, qlogicfc in particular, must "snoop" the SCSI opcode within the CDB to determine data direction from a standard lookup table. This procedure does not work with vendor unique commands because data direction is product specific. The specific operation codes for which the patch is applied are: 0x27 0x29 0xe2 0xed 0xf9 0xfa 0xfd Patch description: The most straightforward solution is to patch the qlogicfc driver code where SCSI opcodes are being snooped. Since the default data-direction is assumed to be data-in, we explicitly add the vendor/product-unique commands that have a data-out phase. We also add a few missing SCSI-3 commands to the qlogicfc driver (FORMAT_UNIT, SEND_DIAGNOSTIC, WRITE_LONG, WRITE_SAME, MODE_SELECT_10, WRITE_12, WRITE_VERIFY_12, and SEND_VOLUME_TAG). Each of these commands also has a data-out phase. Caveats: Because a certain range of opcodes is reserved for vendor-unique (product specific) SCSI commands, it is possible that one product may define a certain opcode to have a data-in phase while another product from a different vendor may define the same opcode to require a data-out phase. In this case, simply "snooping" the opcode would not be sufficient. Rev 2002-01-23 Page 6

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

Linux Configuration
HP VA 7100/7400
Rev 2002-01-23
Page 6
Device_Not_Ready_2.2.16.patch
Device_Not_Ready_2.2.19.patch
- contains the “device not ready – LUN becoming ready” patch.
Error_Recovery_2.2.16.patch
Error_Recovery_2.2.19.patch
- contains the “refined error recovery” patch.
These patches can be applied separately depending upon your requirements. In addition to these pre-
packaged patches, there is another minor change that should be made prior to re-building the kernel.
See the steps under “Install Patches and Rebuild Kernel” below.
Before applying any of these patches, be sure to read the descriptions below. There are tradeoffs to be
made with the implementation of these patches; you should be aware of the potential impacts of each.
2.1
Command View Patch
The Command View patch includes two distinguishable changes. One to set the data direction for
vendor-unique commands, and another to allow SCSI Command Data Blocks sized up to 16 bytes to
be passed through the kernel. These are described below.
2.1.1
Vendor-Unique Commands
Problem synopsis:
The Linux 2.2 kernel SCSI generic (sg) API does not contain an explicit data
direction field for SCSI commands. The SCSI low-level drivers, qlogicfc in particular, must “snoop”
the SCSI opcode within the CDB to determine data direction from a standard lookup table. This
procedure does not work with vendor unique commands because data direction is product specific.
The specific operation codes for which the patch is applied are:
0x27
0x29
0xe2
0xed
0xf9
0xfa
0xfd
Patch description:
The most straightforward solution is to patch the qlogicfc driver code where
SCSI opcodes are being snooped. Since the default data-direction is assumed to be data-in, we
explicitly add the vendor/product-unique commands that have a data-out phase. We also add a few
missing SCSI-3 commands to the qlogicfc driver (FORMAT_UNIT, SEND_DIAGNOSTIC,
WRITE_LONG, WRITE_SAME, MODE_SELECT_10, WRITE_12, WRITE_VERIFY_12, and
SEND_VOLUME_TAG). Each of these commands also has a data-out phase.
Caveats:
Because a certain range of opcodes is reserved for vendor-unique (product specific)
SCSI commands, it is possible that one product may define a certain opcode to have a data-in phase
while another product from a different vendor may define the same opcode to require a data-out phase.
In this case, simply “snooping” the opcode would not be sufficient.