From /var/log/messages:
Jul 11 02:42:23 localsys kernel: lpfc 0000:15:00.0: 0:9064 BLKGRD: lpfc_scsi_prep_dma_buf_s3: Too many sg segments from dma_map_sg. Config 64, seg_cnt 65
Jul 11 02:42:23 localsys kernel: lpfc 0000:15:00.0: 0:9064 BLKGRD: lpfc_scsi_prep_dma_buf_s3: Too many sg segments from dma_map_sg. Config 64, seg_cnt 65
From /etc/vx/dmpevents.log:
Thu Jul 11 02:42:23.406: I/O error occurred on Path sde belonging to Dmpnode emc0_135f
Thu Jul 11 02:42:23.406: Unmarked as ioerr Path sde belonging to Dmpnode emc0_135f
Thu Jul 11 02:42:23.407: I/O analysis done as DMP_PATH_OKAY on Path sde belonging to Dmpnode emc0_135f
Thu Jul 11 02:42:23.407: I/O retry(0) on Path sde belonging to Dmpnode emc0_135f
VxVM breaks large IO as per max_hw_segments of device's request queue. In case IO fails with retryable error the IO retry logic does not retry the split (sub chain) of IO but the original IO which can be bigger than device's request queue's hw_segment limit. The device is not able to handle the request and hence the IO errors are observed.
This issue is tracked via Symantec internal incident e2743870.
Changes have been made to IO retry to take care of splitting the IO as per max_hw_segments of device's request queue.
This issue is fixed in the following patch releases.
VxVM - 6.0.300.200 (6.0.3 Public Hotfix 2)
vm-sles10_x86_64-6.0.3.200 - https://sort.Veritas.com/patch/detail/8262
vm-rhel6_x86_64-6.0.3.200 - https://sort.Veritas.com/patch/detail/8261
vm-sles11_x86_64-6.0.4.100 - https://sort.Veritas.com/patch/detail/8263
vm-rhel5_x86_64-6.0.3.200 - https://sort.Veritas.com/patch/detail/8260
Please visit Veritas SORT website to obtain latest patch.
Workaround:
Until the patch is installed, the following workaround of disabling dmp_fast_recovery could be used to prevent this issue.
# vxdmpadm gettune dmp_fast_recovery
Tunable Current Value Default Value
------------------------------ ------------- -------------
dmp_fast_recovery on on
#
# vxdmpadm settune dmp_fast_recovery=off
Tunable value will be changed immediately
#
# vxdmpadm gettune dmp_fast_recovery
Tunable Current Value Default Value
------------------------------ ------------- -------------
dmp_fast_recovery off on
#
Applies To
This issue is only applicable to systems running VERITAS Volume Manager (VxVM) in Linux environment.