
    ~ ge                     4    S SK JrJrJrJr   " S S\\5      rg)    )PluginIndependentPluginSoSPredicate	PluginOptc                   d    \ rS rSrSrSrSr\" SSSS9\" S	SS
S9\" SSSS9/rSS jr	S r
S rSrg)Lvm2   zLogical Volume Manager 2lvm2)storagelvmdumpFzcollect an lvmdump tarball)defaultdesc
lvmdump-amzAattempt to collect lvmdump with advanced options and raw metadatametadataz0attempt to collect headers and metadata via pvckc                     U R                  SSS9nSnSnU(       a  SnX4U4-  nU R                  XPR                  5       S9  g)	ziCollects an lvmdump in standard format with optional metadata
archives for each physical volume present.
r   F)namemakezlvmdump %s -d '%s' z-a -m)chrootN)get_cmd_output_pathadd_cmd_outputtmp_in_sysroot)selfr   lvmdump_pathlvmdump_cmdlvmdump_optscmds         9/usr/lib/python3/dist-packages/sos/report/plugins/lvm2.py
do_lvmdumpLvm2.do_lvmdump   sR     //YU/K*"L<88C(;(;(=>    c                     U R                  S5      nUS   S:X  a?  US   R                  5        H'  nSU 3SU 3SU S3S	U S3/nU R                  US
S9  M)     gg)zUCollects the output of the command pvck for each block device
present in the system.
zpvs -o pv_name --no-headingsstatusr   outputzpvck --dump headers zpvck --dump metadata zpvck --dump metadata_all z -vzpvck --dump metadata_search r   )subdirN)exec_cmd
splitlinesr   )r   
block_listlinecmdss       r   get_pvck_outputLvm2.get_pvck_output,   s    
 ]]*

 h1$"8,779*4&1+D62/vS924&<	 ##D#< : %r!   c                    SSS.n[        [        XS95      (       a  SnOSnUS-   nU R                  SU 3S	S	S
9  SnUS-   S-   nSnUS-   S-   nSnU R                  SU SU 3SS9  U R                  SU SU 3SS9  U R                  SU SU 3SS9  U R                  SU 3SU 3/5        U R                  S5        U R                  S5        U R	                  S5      (       a  U R                  5         O%U R	                  S5      (       a  U R                  SS 9  U R	                  S!5      (       a  U R                  5         g g )"Nzvgdisplay -hz--nolocking)r   r$   )cmd_outputsz3--config="global{metadata_read_only=1}" --nolockingz6--config="global{locking_type=0 metadata_read_only=1}"z
 --foreignzvgdisplay -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_countzvg_tags,systemid,lock_typezElv_tags,devices,lv_kernel_read_ahead,lv_read_ahead,stripes,stripesizezlvs -a -o + lvs_headings)r1   zpvs -a -v -o +pvs_headingszvgs -v -o +vgs_headingsz
pvscan -v zvgscan -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_colss          r   setup
Lvm2.setup>   s    (=AT677LHOH#l2-./$; 	 	

 Lc>J.Kc>$@@)k(15E4FG!/ 	 	1XJa(8'9: 	 	! 	k(15E4FG!/ 	 	1
#8*%
 	
 	:&:&??9%%OO__\**OOTO*??:&&  " 'r!    N)F)__name__
__module____qualname____firstlineno__
short_descplugin_nameprofilesr   option_listr   r+   rA   __static_attributes__rC   r!   r   r   r      sY    +JKH 	)U1MN,'	) 	*eI	KK?=$6#r!   r   N)sos.report.pluginsr   r   r   r   r   rC   r!   r   <module>rN      s    + +g#6$ g#r!   