File: //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/lvm2.cpython-310.pyc
o
-�_ge � @ s. d dl mZmZmZmZ G dd� dee�ZdS )� )�Plugin�IndependentPlugin�SoSPredicate� PluginOptc @ sZ e Zd ZdZdZdZedddd�eddd d�ed
ddd�gZddd
�Zdd� Z dd� Z
dS )�Lvm2zLogical Volume Manager 2�lvm2)�storage�lvmdumpFzcollect an lvmdump tarball)�default�desc�
lvmdump-amzAattempt to collect lvmdump with advanced options and raw metadata�metadataz0attempt to collect headers and metadata via pvckc C s@ | j ddd�}d}d}|rd}|||f }| j|| �� d� dS ) z|Collects an lvmdump in standard format with optional metadata
archives for each physical volume present.
r F)�name�makezlvmdump %s -d '%s'� z-a -m)�chrootN)�get_cmd_output_path�add_cmd_output�tmp_in_sysroot)�selfr
�lvmdump_path�lvmdump_cmd�lvmdump_opts�cmd� r �9/usr/lib/python3/dist-packages/sos/report/plugins/lvm2.py�
do_lvmdump s zLvm2.do_lvmdumpc C sf | � d�}|d dkr/|d �� D ]}d|� �d|� �d|� d�d |� d�g}| j|d
d� qdS dS )
zj Collects the output of the command pvck for each block device
present in the system.
zpvs -o pv_name --no-headings�statusr �outputzpvck --dump headers zpvck --dump metadata zpvck --dump metadata_all z -vzpvck --dump metadata_search r
)�subdirN)�exec_cmd�
splitlinesr )r �
block_list�line�cmdsr r r �get_pvck_output, s �
��zLvm2.get_pvck_outputc C s& ddd�}t t| |d��rd}nd}|d }| jd|� �d d d
� d}|d d
}d}|d d }d}| jd|� d|� �dd� | jd|� d|� �dd� | jd|� d|� �dd� | �d|� �d|� �g� | �d� | �d� | �d�r{| �� n| �d�r�| jdd � | �d!�r�| �� d S d S )"Nzvgdisplay -hz--nolocking)r r )�cmd_outputsz3--config="global{metadata_read_only=1}" --nolockingz6--config="global{locking_type=0 metadata_read_only=1}"z
--foreignzvgdisplay -vv � vgdisplay)�root_symlink�tagsz6pv_mda_free,pv_mda_size,pv_mda_count,pv_mda_used_count�,�pe_startz6vg_mda_count,vg_mda_free,vg_mda_size,vg_mda_used_countzvg_tags,systemid,lock_typezElv_tags,devices,lv_kernel_read_ahead,lv_read_ahead,stripes,stripesizezlvs -a -o +� �lvs_headings)r) zpvs -a -v -o +�pvs_headingszvgs -v -o +�vgs_headingsz
pvscan -v zvgscan -vvv z/etc/lvmz/run/lvmr r T)r
r
)�boolr r �
add_copy_spec�
get_optionr r% )r �nolock�lvm_opts�lvm_opts_foreign�pvs_cols�vgs_cols�lvs_colsr r r �setup>