Sindbad~EG File Manager
3
�ft � @ 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 2Zlvm2�storage�lvmdumpFzcollect an lvmdump tarball)�defaultZdescz
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|| j� d� dS ) z|Collects an lvmdump in standard format with optional metadata
archives for each physical volume present.
r F)�nameZmakezlvmdump %s -d '%s'� z-a -m)�chrootN)Zget_cmd_output_path�add_cmd_outputZtmp_in_sysroot)�selfr
Zlvmdump_pathZlvmdump_cmdZlvmdump_opts�cmd� r �/usr/lib/python3.6/lvm2.py�
do_lvmdump s zLvm2.do_lvmdumpc C sf | j d�}|d dkrbxJ|d j� D ]:}d|� �d|� �d|� d�d |� d�g}| j|d
d� q$W dS )
zj Collects the output of the command pvck for each block device
present in the system.
zpvs -o pv_name --no-headingsZstatusr �outputzpvck --dump headers zpvck --dump metadata zpvck --dump metadata_all z -vzpvck --dump metadata_search r
)ZsubdirN)Zexec_cmd�
splitlinesr )r Z
block_list�lineZcmdsr r r �get_pvck_output, s
zLvm2.get_pvck_outputc C s ddd�}t t| |d��r d}nd}|d }| jd| d d d
� d}|d d
}d}|d d }d}| jd||f dd� | jd||f dd� | jd||f dd� | jd| d| g� | jd� | jd� | jd�r�| j� n| jd�r�| jdd� | jd ��r| j� d S )!Nzvgdisplay -hz--nolocking)r r )Zcmd_outputsz3--config="global{metadata_read_only=1}" --nolockingz6--config="global{locking_type=0 metadata_read_only=1}"z
--foreignzvgdisplay -vv %sZ vgdisplay)Zroot_symlink�tagsz6pv_mda_free,pv_mda_size,pv_mda_count,pv_mda_used_count�,Zpe_startz6vg_mda_count,vg_mda_free,vg_mda_size,vg_mda_used_countzvg_tags,systemidzElv_tags,devices,lv_kernel_read_ahead,lv_read_ahead,stripes,stripesizezlvs -a -o +%s %sZlvs_headings)r zpvs -a -v -o +%s %sZpvs_headingszvgs -v -o +%s %sZvgs_headingszpvscan -v %szvgscan -vvv %sz/etc/lvmz/run/lvmr z
lvmdump-amT)r
r
)�boolr r Z
add_copy_specZ
get_optionr r )r ZnolockZlvm_optsZlvm_opts_foreignZpvs_colsZvgs_colsZlvs_colsr r r �setup>