Disks from ALUA array are not claimed by Array Support Library (ASL) if RTPG data is greater than 255 bytes

book

Article ID: 100049723

calendar_today

Updated On:

Description

Error Message

vxcheckasl will display ERROR in the claim_device() output-
ex.

        Device                                 : /dev/sdaa
        Vendor Identification                  : HUAWEI
        Product Identification                 : XSG1
        Revision                               : 4301
        Serial Number                          : ^@^@^@^@^@^@^@^@^@^@^@^@
        libvxhuawei.so:claim_device()          : ERROR
       

Cause

If the array is sending RTPG (Report Target Port Group) data that exceeds the amount that the Dynamic Multi-Pathing (DMP) is capable of processing, it fails to read the data and claim the device with the ASL.

The output of
/etc/vx/diag.d/vxalua -d
shows the RTPG data size in hexidemical:

ex.

# /etc/vx/diag.d/vxalua -d /dev/sdayn
<...>

----------- RTPG Response Data: Raw data size 0x1b4 -----------

Bytes 0 - 9      0x00  0x00  0x01  0xb0  0x01  0x0a  0x00  0x01  0x00  0x02
Bytes 10 - 19    0x20  0x10  0x00  0x00  0x00  0x01  0x00  0x00  0x00  0x02
<...>
Bytes 430 - 435  0x00  0x00  0x00  0x00  0x00  0x00

Bytes 0-435 = 436 total bytes of data, but we can use a shell command to quickly convert the HEX to a DECIMAL value:

ex.
$ printf '%d\n' 0x1b4
436


If the version of VxVM that is installed on the server doesn't support a RTPG data size larger than 255 bytes, you may receive ASL errors or system panics may occur.

 

Resolution

 

To address the issue, please install patches that increase the size of the RTPG buffer from 255 to 1024:

* 3961469 (Tracking ID: 3948140)
 
SYMPTOM:
System may panic if RTPG data returned by the array is greater than 255 with
below stack:
 

dmp_alua_get_owner_state()
dmp_alua_get_path_state()
dmp_get_path_state()
dmp_check_path_state()
dmp_restore_callback()
dmp_process_scsireq()
dmp_daemons_loop()

 
DESCRIPTION:
The size of the buffer given to RTPG SCSI command is currently 255 bytes. But the size of data returned by underlying array for RTPG can be greater than 255 bytes. As a result incomplete data is retrieved (only the first 255 bytes) and when trying to read the RTPG data, it causes invalid access of memory resulting in error while claiming the devices. This invalid access of memory may lead to system panic.
 
RESOLUTION:
The RTPG buffer size has been increased to 1024 bytes for handling this.

 

This has been fixed on Infoscale 7.4.1 and later. If the server has an earlier version of Infoscale or Storage Foundation, please refer to the below links for the available patches, which can be downloaded from support.veritas.com:

 

Patch Name

SORT Link
infoscale-rhel6_x86_64-Patch-7.3.1.100 https://sort.veritas.com/patch/detail/14526
infoscale-rhel7_x86_64-Patch-7.3.1.200 https://sort.veritas.com/patch/detail/14515
sfha-rhel7_x86_64-Patch-6.2.1.700 https://sort.veritas.com/patch/detail/14543
infoscale-aix72-Patch-7.3.1.100 https://sort.veritas.com/patch/detail/14590
infoscale-rhel7_x86_64-Patch-7.3.1.300 https://sort.veritas.com/patch/detail/14900
infoscale-rhel7_x86_64-Patch-7.2.0.500 https://sort.veritas.com/patch/detail/14896
infoscale-sol11_sparc-Patch-7.3.1.200 https://sort.veritas.com/patch/detail/14951
infoscale-rhel7_x86_64-Patch-7.1.0.300 https://sort.veritas.com/patch/detail/14987
vm-rhel7_x86_64-Patch-7.4.0.1600 https://sort.veritas.com/patch/detail/15065
infoscale-sol11_sparc-Patch-7.1.0.1100 https://sort.veritas.com/patch/detail/15079
infoscale-sles12.4_x86_64-Patch-7.3.1.1100 https://sort.veritas.com/patch/detail/15006
infoscale-rhel7.7_x86_64-Patch-7.3.1.3100 https://sort.veritas.com/patch/detail/15248
sfha-rhel7.7_x86_64-Patch-6.2.1.7100 https://sort.veritas.com/patch/detail/15365
sfha-sles12.4_x86_64-Patch-6.2.1.4100 https://sort.veritas.com/patch/detail/15406
infoscale-rhel7_x86_64-Patch-7.4.0.1700 https://sort.veritas.com/patch/detail/15685
infoscale-sles12_x86_64-Patch-7.3.1.3200 https://sort.veritas.com/patch/detail/15758
infoscale-rhel7_x86_64-Patch-7.3.1.3300 https://sort.veritas.com/patch/detail/15818
infoscale-rhel7.9_x86_64-Patch-7.3.1.3600 https://sort.veritas.com/patch/detail/16555
sfha-rhel7_x86_64-Patch-6.2.1.7200 https://sort.veritas.com/patch/detail/15972

 

Note:
If your installed version is not in the table above, please contact a Support representative to check if there is a private hotfix for the specific version, referencing etrack incident ID 3948140.

 

Issue/Introduction

Disks from ALUA array are not claimed by Array Support Library (ASL) if RTPG data is greater than 255 bytes.

Additional Information

ETrack: 3948140