Ë
    i©¹dƒ	  ã                   ó8   — d dl m Z  d dlmZmZ  G d„ dee«      Zy)é    )Úglob)ÚPluginÚIndependentPluginc                   ó"   — e Zd ZdZdZdZdZd„ Zy)ÚScsiaÙ  
    Collects various information about the SCSI devices install on the host
    system.

    This plugin will capture a large amount of data from the /sys filesystem,
    as well as several different invocations of the `lsscsi` command.

    Additionally, several `sg_persist` commands will be collected for each
    SCSI device identified by sos. Note that in most cases these commands are
    provided by the `sg3_utils` package which may not be present by default.
    zSCSI devicesÚscsi)ÚstorageÚhardwarec                 óÄ  — | j                  g d¢«       dg}| j                  d«      }|d   dk(  rU|d   j                  «       D ]?  }|j                  «       d   |v sŒ|j                  «       d   }| j	                  d	|z  «       ŒA | j	                  d
dd¬«       | j	                  g d¢«       t        d«      }| j                  d|¬«       | j                  g d¢ddg¬«       y )N)z
/proc/scsiz/etc/stinit.defz/sys/bus/scsiz/sys/class/scsi_hostz/sys/class/scsi_diskz/sys/class/scsi_devicez/sys/class/scsi_genericÚenclosuz	lsscsi -gÚstatusr   Úoutputé   éÿÿÿÿzsg_ses -p2 -b1 %sz	lsscsi -iÚlsscsi)Úsuggest_filenameÚtags)z	sg_map -xÚlspathz
lsmap -allÚlsnportsz	lsscsi -Hz	lsscsi -dz	lsscsi -sz	lsscsi -Lz/sys/class/scsi_host/*zudevadm info -a %(dev)s)Údevices)zsg_persist --in -k -d %(dev)szsg_persist --in -r -d %(dev)szsg_persist --in -s -d %(dev)szsg_inq %(dev)sÚblockzsd.*)r   Ú	whitelist)Úadd_copy_specÚcollect_cmd_outputÚ
splitlinesÚsplitÚadd_cmd_outputr   Úadd_device_cmd)ÚselfÚ
scsi_typesÚresultÚlineÚdevsgÚ
scsi_hostss         ú9/usr/lib/python3/dist-packages/sos/report/plugins/scsi.pyÚsetupz
Scsi.setup   s  € Ø×Ñò 
ô 	ð  �[ˆ
Ø×(Ñ(¨Ó5ˆØ�(Ñ˜qÒ Ø˜xÑ(×3Ñ3Ó5ò E�Ø—J‘J“L ‘O zÒ1Ø ŸJ™J›L¨Ñ,�EØ×'Ñ'Ð(;¸eÑ(CÕDðEð
 	×Ñ˜K¸(Ø!)ð 	ô 	+ð 	×Ñò 	
ô 		ô Ð2Ó3ˆ
Ø×ÑÐ5¸zÐÔJà×Ñò 
ð
  v hð 	õ 	0ó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
short_descÚplugin_nameÚprofilesr&   © r'   r%   r   r      s   „ ñ
ð  €Jà€KØ&€Hó)0r'   r   N)r   Úsos.report.pluginsr   r   r   r/   r'   r%   ú<module>r1      s   ðõ ß 8ô;0ˆ6Ð$õ ;0r'   