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://downloads.infoscale.com/infoscale/REL384171/7.3.1.100?q=infoscale-rhel6_x86_64-Patch-7.3.1.100&fileNumber=FILE660702&updateNumber=UPD282434

infoscale-rhel7_x86_64-Patch-7.3.1.200

https://downloads.infoscale.com/infoscale/REL384171/7.3.1.200?q=infoscale-rhel7_x86_64-Patch-7.3.1.200&fileNumber=FILE910012&updateNumber=UPD583797

sfha-rhel7_x86_64-Patch-6.2.1.700

https://downloads.infoscale.com/

infoscale-aix72-Patch-7.3.1.100

https://downloads.infoscale.com/

infoscale-rhel7_x86_64-Patch-7.3.1.300

https://downloads.infoscale.com/

infoscale-rhel7_x86_64-Patch-7.2.0.500

https://downloads.infoscale.com/infoscale/REL465798/7.2.0.500?q=infoscale-rhel7_x86_64-Patch-7.2.0.500&fileNumber=FILE503207&updateNumber=UPD906758

infoscale-sol11_sparc-Patch-7.3.1.200

https://downloads.infoscale.com/

infoscale-rhel7_x86_64-Patch-7.1.0.300

https://downloads.infoscale.com/infoscale/REL459816/7.1.0.300?q=infoscale-rhel7_x86_64-Patch-7.1.0.300&fileNumber=FILE272147&updateNumber=UPD508444

vm-rhel7_x86_64-Patch-7.4.0.1600

https://downloads.infoscale.com/

infoscale-sol11_sparc-Patch-7.1.0.1100

https://downloads.infoscale.com/infoscale/REL459816/7.1.0.1100?q=infoscale-sol11_sparc-Patch-7.1.0.1100&fileNumber=FILE687404&updateNumber=UPD434467

infoscale-sles12.4_x86_64-Patch-7.3.1.1100

https://downloads.infoscale.com/infoscale/REL384171/7.3.1.1100?q=infoscale-sles12.4_x86_64-Patch-7.3.1.1100&fileNumber=FILE436520&updateNumber=UPD870194

infoscale-rhel7.7_x86_64-Patch-7.3.1.3100

https://downloads.infoscale.com/infoscale/REL384171/7.3.1.3100?q=infoscale-rhel7.7_x86_64-Patch-7.3.1.3100&fileNumber=FILE702498&updateNumber=UPD277461

sfha-rhel7.7_x86_64-Patch-6.2.1.7100

https://downloads.infoscale.com/

sfha-sles12.4_x86_64-Patch-6.2.1.4100

https://downloads.infoscale.com/

infoscale-rhel7_x86_64-Patch-7.4.0.1700

https://downloads.infoscale.com/infoscale/REL191085/7.4.0.1700?q=infoscale-rhel7_x86_64-Patch-7.4.0.1700&fileNumber=FILE917850&updateNumber=UPD754798

infoscale-sles12_x86_64-Patch-7.3.1.3200

https://downloads.infoscale.com/infoscale/REL384171/7.3.1.3200?q=infoscale-sles12_x86_64-Patch-7.3.1.3200&fileNumber=FILE891883&updateNumber=UPD248639

infoscale-rhel7_x86_64-Patch-7.3.1.3300

https://downloads.infoscale.com/infoscale/REL384171/7.3.1.3300?q=infoscale-rhel7_x86_64-Patch-7.3.1.3300&fileNumber=FILE803684&updateNumber=UPD458995

infoscale-rhel7.9_x86_64-Patch-7.3.1.3600

https://downloads.infoscale.com/infoscale/REL384171/7.3.1?q=infoscale-rhel7.9_x86_64-Patch-7.3.1.3600&fileNumber=FILE917053&updateNumber=UPD356468

sfha-rhel7_x86_64-Patch-6.2.1.7200

https://downloads.infoscale.com/

 

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