File: //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/scsi.cpython-310.pyc
o
i��d� � @ s2 d dl m Z d dlmZmZ G dd� dee�ZdS )� )�glob)�Plugin�IndependentPluginc @ s$ e Zd ZdZdZdZdZdd� ZdS )�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.
zSCSI devices�scsi)�storage�hardwarec C s� | � g d�� dg}| �d�}|d dkr3|d �� D ]}|�� d |v r2|�� d }| �d | � q| jd
ddd� | �g d
�� td�}| jd|d� | jg d�ddgd� d S )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� ���zsg_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/*zudevadm info -a %(dev)s)�devices)zsg_persist --in -k -d %(dev)szsg_persist --in -r -d %(dev)szsg_persist --in -s -d %(dev)szsg_inq %(dev)s�blockzsd.*)r � whitelist)�
add_copy_spec�collect_cmd_output�
splitlines�split�add_cmd_outputr �add_device_cmd)�self�
scsi_types�result�line�devsg�
scsi_hosts� r"