KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /proc/21573/root/usr/share/system-config-lvm/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/21573/root/usr/share/system-config-lvm/InputController.pyc
m
KRc
@stdZdkZdkZdkZdkZdkZdkZdkZdklZdk	l	Z	dk
TdklZdkZdk
Z
dklZdklZdklZdkZd	klZlZlZd
klZdkZeiZydkZdkZWn1ej
o%ZedeGHei dnXdk!Z!dk"Z!e#Z$d
Z%dZ&dZ'edZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2ddddddddgZ3dddd d!d"d#d$d%d&g
Z4ed'Z5ed(Z6ed)Z7ed*Z8ed+Z9ed,Z:ed-Z;ed.Z<ed/Z=ed0Z>ed1Z?ed2Z@ed3ZAed4ZBed5ZCed6ZDed7ZEed8ZFed9ZGed:ZHed;ZIed<ZJed=ZKed>ZLed?ZMed@ZNedAZOedBZPedCZQedDZRedEZSedFZTedGZUedHZVedIZWedJZXedKZYedLZZedMZ[edNZ\edOZ]edPZ^edQZ_edRZ`edSZaedTZbedUZcedVZdedWZedXfdYYZfdZfd[YZgd\fd]YZhdS(^sVThis class represents the primary controller interface
   for the LVM UI application.
N(s	lvm_model(sCommandHandler(t*(sCommandError(sSTRIPED_SEGMENT_ID(sExtentBlock(sWaitMsg(sexecWithCapturesexecWithCaptureErrorStatussexecWithCaptureStatus(sfollow_links_to_targetsD
  Unable to initialize graphical environment. Most likely cause of failure
  is that the tool was not run using a graphical environment. Please either
  start your graphical user interface or set your DISPLAY variable.
                                                                                
  Caught exception: %s
iiiis#Select a Volume Group to add %s to:f	1000000.0f1000000000.0f1000.0iiiiii i@iit2t4t8t16t32t64t128t256t512t1024tNametSizesEntity TypesUnallocated Physical VolumesUninitialized Disk Entitys3Select disk entities to add to the %s Volume Group:sA Volume Group must be made up of two or more Physical Volumes to support striping. This Volume Group does not meet that requirement.scA Logical Volume with the name %s already exists in this Volume Group. Please choose a unique name.sLA Volume Group with the name %s already exists. Please choose a unique name.s2A Name must be provided for the new Logical Volumes0A Name must be provided for the new Volume GroupsHThe specified mount point, %s, does not exist. Do you wish to create it?s3The creation of mount point %s unexpectedly failed.s6This capability is not yet implemented in this versionsQThe number of Logical Volumes in this Volume Group has reached its maximum limit.sRThe number of Physical Volumes in this Volume Group has reached its maximum limit.sZAt most %s Physical Volumes can be added to this Volume Group before the limit is reached.sVolume Group %s does not have enough space for new Logical Volumes. A possible solution would be to add an additional Physical Volume to the Volume Group.s*A snapshot of a snapshot is not supported.s9A snapshot of a mirrored Logical Volume is not supported.saLogical volume %s has snapshot %s currently associated with it. Please remove the snapshot first.s`Logical volume %s has snapshots: %s currently associated with it. Please remove snapshots first.sJUndefined type conversion error in model factory. Unable to complete task.sBIG WARNING: Logical Volume %s has an %s file system on it and is currently mounted on %s. Are you absolutely certain that you wish to discard the data on this mounted filesystem?sLogical Volume %s is currently mounted on %s. In order to complete request, it has to be unmounted. Are you sure you want it unmounted?sUnused space on %ss%s megabytess%s kilobytess%s gigabytess
%s extentss&Remaining free space in Volume Group:
s!Remaining space for this Volume:
tExtentst	Gigabytest	Megabytest	Kilobytess(The %s should only contain number valuessWThe Maximum Physical Volumes field should contain only integer values between 1 and 256sVThe Maximum Logical Volumes field should contain only integer values between 1 and 256sPAre you quite certain that you wish to remove %s from Logical Volume Management?s}The Physical Volume named %s, that you wish to remove, has data from active Logical Volume(s) mapped to its extents. Because it is the only Physical Volume in the Volume Group, there is no place to move the data to. Recommended action is either to add a new Physical Volume before removing this one, or else remove the Logical Volumes that are associated with this Physical Volume.sJAre you quite certain that you wish to remove %s from the %s Volume Group?sRemoving Physical Volume %s from the Volume Group %s will leave the Volume group empty, and it will be removed as well. Do you wish to proceed?sVolume Group %s does not have enough space to move the data stored on %s. A possible solution would be to add an additional Physical Volume to the Volume Group.sThe dm-mirror module is either not loaded in your kernel, or your kernel does not support the dm-mirror target. If it is supported, try running "modprobe dm-mirror". Otherwise, operations that require moving data on Physical Extents are unavailable.sThe dm-snapshot module is either not loaded in your kernel, or your kernel does not support the dm-snapshot target. If it is supported, try running "modprobe dm-snapshot". Otherwise, creation of snapshots is unavailable.s@Are you quite certain that you wish to remove logical volume %s?sLogical volume %s contains %s filesystem. All data on it will be lost! Are you quite certain that you wish to remove logical volume %s?sLogical volume %s contains data from directory %s. All data in it will be lost! Are you quite certain that you wish to remove logical volume %s?tInputControllercBstZdZdZdZdZdZdZdZdZ	d	Z
dd
ZdZ
ddZd
ZdZdZdZddZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+RS(*NcCst||_||_||_||_t|_t|_t	|_
|i|iio|ii
ndS(N(treset_tree_modeltselfttreeviewt
model_factoryt	glade_xmltCommandHandlertcommand_handlertlisttsection_listtUNSELECTABLE_TYPEtsection_typet
setup_dialogstpvmove_in_progresstcomplete_pvmove(RRRRR((t//usr/share/system-config-lvm/InputController.pyt__init__s					
cCs|iid|_|iid|i|i|iid|_|iid|i|iid|_	|i	id|i
|iid|_|iid|_|iid|i
|iid|_|iid|i|iid	|_tititi}|ii|ti}tid
|dd}|ii|ti}tid
|dd}|ii||iid|_|iid|i|i |i!dS(Nt
uninit_buttontclickedtadd_pv_to_vg_formtdelete_eventtadd_pv_to_vg_buttontadd_pv_to_vg_treeviewtok_add_pv_to_vg_buttontcancel_add_pv_to_vg_buttontadd_pv_to_vg_labels
Volume GroupsttextiRit
new_lv_button("RRt
get_widgettinit_entity_buttontconnectton_init_entitytsetup_new_vg_formtadd_pv_to_vg_dlgtadd_pv_to_vg_delete_eventR&ton_add_pv_to_vgR'R(ton_ok_add_pv_to_vgR)ton_cancel_add_pv_to_vgR*tgtkt	ListStoretgobjecttTYPE_STRINGtmodelt	set_modeltCellRendererTextt	renderer1tTreeViewColumntcolumn1t
append_columnt	renderer2tcolumn2R,t	on_new_lvtsetup_extend_vg_formtsetup_misc_widgets(RRBR>R;R@RC((R Rs4

cCsY|iid|_|iid|i|iid|_|iid|i|iid|_|iid|i	|iid|_
|i
id|i|iid|_|iid|_
|iid	|_|iid
|_|iid|_|iid|i|iid|_|iid
|_dS(Ntnew_vg_formR%t
new_vg_buttonR#tok_new_vg_buttontcancel_new_vg_buttontnew_vg_nametnew_vg_max_pvstnew_vg_max_lvstnew_vg_extent_sizetradiobutton1tradiobutton2tclustered_butt(RRR-t
new_vg_dlgR/tnew_vg_delete_eventRHt	on_new_vgRIt	ok_new_vgRJt
cancel_new_vgRKRLRMRNtnew_vg_radio_megtchange_new_vg_radiotnew_vg_radio_kilotnew_vg_clustered(R((R R1s cCs|i|iidS(N(Rtprep_new_vg_dlgRRtshow(Rtbutton((R RTs
cCs|iidS(N(RRRthide(RR]((R RVscCsd}d}d}	d}
t}t}t}|i	i
}|i\}}|i|t}|iii}|djo|itdSn|ii}xM|D]E}|i|jo,|iidd|it|dSqqW|}|ii}|i!t"jo+|it#|ii$t%t&dSnXt'|}
|
djp
|
t&jo+|it#|ii$t%t&dSn|
}|i)i}|i!t"jo+|it+|i)i$t%t,dSnXt'|}|djp
|t,jo+|it+|i)i$t%t,dSn|}	|i.i/}|i1i2}|i3i2}|ot5d}|i7|ny<|i8i9|t%|t%|	t:|||i;|Wn(t<j
o}|i|i>nX|i?i@tA|iB|gdS(NtiiiiisIn order for Volume Group to be safely used in clustered environment, lvm2-cluster rpm has to be installed, `lvmconf --enable-cluster` has to be executed and clvmd service has to be running(CtName_requesttmax_physical_volumestmax_logical_volumestphys_extent_sizetTruetphys_extent_units_megt
autobackupt	resizableRRt
get_selectiont	selectiontget_selectedR;titert	get_valuetOBJ_COLtpvRKtget_texttstript
proposed_nameterrorMessagetMUST_PROVIDE_VG_NAMERtget_VGstvg_listtvgtget_namet
select_regiontNON_UNIQUE_VG_NAMERLt
max_pvs_fieldtisalnumtFalsetNUMBERS_ONLY_MAX_PVStset_texttstrtMAX_PHYSICAL_VOLStinttmax_pvsRMt
max_lvs_fieldtNUMBERS_ONLY_MAX_LVStMAX_LOGICAL_VOLStmax_lvsRNtget_historyt
extent_idxRWt
get_activeRZt	clusteredt_tmsgtinfoMessageRt
create_new_vgtACCEPTABLE_EXTENT_SIZEStget_pathtCommandErrortet
getMessageRRR^tapplyR(RR]RiRRvRRqRaRnRbRcRfRRR`RgReRRRkRzR;RuR((R RUs|





			
cCsp|iid|iitt|iitt|ii	t
|iit
|ii	tdS(NR_(RRKR~RLRRRMRRWt
set_activeRdRNtset_historytDEFAULT_EXTENT_SIZE_MEG_IDXRZR|(R((R R[EscCs|ii}|i}|iitjo6|di	t|di	t|ii
tn3|di	t|di	t|ii
t
dS(Nii(RRNtget_menutmenutget_childrentitemsRWRRdt
set_sensitiveRRR|tDEFAULT_EXTENT_SIZE_KILO_IDX(RR]RR((R RXMscCs|idS(N(Rt	remove_pv(RR]((R ton_pv_rmZscCsZt}t}t}|djo=t}|ii	}|i\}}|i|t}n|i}x|iD]}|i}|iod}|io5td}||i|i|if}nB|io5td}||i|i|if}n|ioHtd}||i|i|idi|if}n|io|i }t"|djotd}n
td}|di}x&|dD]}
|
d|
i}
qW||i|i||if}n|djo|i&|tSq@ququW|i'\}}}|i+i,}t"|djo
t}nt}|i}t"|djo+|diio
t}qt}nt}|tjo$|o|i/t0|i|if}|t2i3jotSny|i4i5|iWqt6j
o }|i&|i8tSqXq,|i/t9|i|if}|t2i3jotSny#|i4i:|i|iWq,t6j
o }|i&|i8tSq,Xn|o|i&t;|itSn|i'\}}	}||}||jo|i4i@tjo|i&tAtSn|i/t9|i|if}|t2i3jotSnx9|D]0}|iitjo|iC|qqW|iDt||}|djotSng}x!|D]}|iG|iHq=Wy&|i4iI|i||iJWn,t6j
o }|i&|i8tSnXy#|i4i:|i|iWq,t6j
o }|i&|i8tSq,Xn(|i&tK|i|iftS|tjotL|iM|igntS(	NsPhysical Volume %s contains extents belonging to a mirror log of Logical Volume %s. Mirrored Logical Volumes are not yet migratable, so %s is not removable.sPhysical Volume %s contains extents belonging to a mirror image of Logical Volume %s. Mirrored Logical Volumes are not yet migratable, so %s is not removable.sPhysical Volume %s contains extents belonging to %s, a snapshot of %s. Snapshots are not yet migratable, so %s is not removable.iisPhysical Volume %s contains extents belonging to %s, the origin of snapshot %s. Snapshot origins are not yet migratable, so %s is not removable.sPhysical Volume %s contains extents belonging to %s, the origin of snapshots %s. Snapshot origins are not yet migratable, so %s is not removable.s, (NRdt
mapped_lvsR|tsolo_pvt
reset_treeRntNoneRRRhRiRjR;RkRlRmtget_vgRvtget_extent_blockstextenttget_lvt
extents_lvtis_usedt
error_messaget
is_mirror_logRRRwtis_mirror_imagetis_snapshottget_snapshot_infot
has_snapshotst
get_snapshotst	snapshotstlentsnapshots_stringtsnaptsnapshot_stringRrtget_extent_total_used_freettotaltalloctfreetget_pvstvaluestpv_listtextent_listtwarningMessagetCONFIRM_VG_REMOVEtretvalR7tRESPONSE_NORt	remove_vgRRRtCONFIRM_PV_VG_REMOVEt	reduce_vgt
SOLO_PV_IN_VGt	ext_totaltext_usedtext_freetactual_free_extstis_dm_mirror_loadedtNO_DM_MIRRORtexttremovetmigrate_exts_dlgtdlgtexts_structstappendtget_start_sizetmove_pvtget_datatNOT_ENOUGH_SPACE_VGRR(RRnRiRRvRRRRRRRRRRRRRRRRRRRkRRRRR;R((R R]s



)
)
<
,






%
%#



%
&	#
#
cCs|idS(N(Rt	remove_lv(RR]((R ton_lv_rmscCst}
|djo=t}
|ii}|i	\}
}|
i|t
}n|io|i}t|djo+|it|i|difnW|di}x&|dD]}|d|i}qW|it|i|ftSn|ii|i}ti|i}	|	iti dijo
d}	nt!i"|i}d}|djoG|	djot%|i}qt&|i|	i|if}n t'|i||if}|i(|}|t*i+jotSn|djoGy|i,i-|Wqbt.j
o }|i|i0tSqbXn|djot!i1|iny|i,i2|iWn,t.j
o }|i|i0tSnX|
o#t3|i4|i5igntS(Niis, (6R|RtlvRRdRRRhRiRjR;RkRlRmRRRRRrtCANNOT_REMOVE_UNDER_SNAPSHOTRwt	snaps_strRtCANNOT_REMOVE_UNDER_SNAPSHOTSRt
getMountPointRt
mountpointt
Filesystemtget_fstfstnametget_filesystemstFstabtget_mountpointtfstab_mountpointtmessagetCONFIRM_LV_REMOVEtCONFIRM_LV_REMOVE_FILESYSTEMtCONFIRM_LV_REMOVE_MOUNTEDRRR7RRtunmountRRRRRRRR(RRRiRRRRRRRRRRkR;R((R Rs\

+


&


	#c
Cs|idjodSn|i}	t|	djodSn|	di}xp|	D]h}|ioUxR|i	D]@}||	jo-|itdt
d|idSqtqtWqTqTWt}t}x|	D]}|io|	i||i|o
t}qu|id}||	joFt
d}||i|if}|i||	i|quqqW|o/|ii|ii|i}t}nx8|	D]0}|i|i|io
t}qqW|o'|it|i|igndS(Nis
sbLogical Volume "%s" has snapshots that are not selected for removal. They must be removed as well.sE"%s", an origin of snapshot "%s", has been deleted from removal list.( RRRt
lvs_to_removeRRRvRRRRRrtUNABLE_TO_PROCESS_REQUESTRRwR|t
reload_lvmRRRRRdRtoriginRtsimpleInfoMessageRtreloadtget_VGtget_lvstclear_highlighted_sectionsR(
RR]RRvRRRRRR((R ton_rm_select_lvs)sN



%






 
cCs|idjodSnt|idjodSnx|iD]}x|iD]}	|	i}|i	od}
|ip
|io,t
d}
|
|i|if}
nG|ip
|io,t
d}
|
|i|if}
n|
djo|itd|
dSq,qSqSWq@Wt}xr|iD]g}|i}|ii}|ii|i|}|i|o|iit}qDqDW|i i!}|i#\}
}|
i&|t'}|o'|i)t*|i|igndS(NispPhysical Volume "%s" contains extents belonging to a mirror. Mirrors are not migratable, so %s is not removable.sPhysical Volume "%s" contains extents belonging to a snapshot or a snapshot's origin. Snapshots are not migratable, so %s is not removable.s
(+RRRRRnRRRRRRRRRRRRRrRR|RtpvpathRRwtvgnameRRRtpv_to_removeRRRdRRhRiRjR;RkRlRmRvRR(RR]RiRvRRRnRRRRRkRR;((R ton_rm_select_pvsWsF


  



cCs|ii}
|
i\}}|i|}|i	|t
}t|i
i|ijo|itdSn|i\}	}}|djo|it|idSntd||i|i}|itjodSnt|i |igdS(Ni(!RRRhtmain_selectionRjt
main_modelt	main_iterRt	main_pathRlRmRvRRRtget_max_lvsRrtEXCEEDED_MAX_LVSRt
total_extst	used_extst	free_extstNOT_ENOUGH_SPACE_FOR_NEW_LVRwt
LV_edit_propsRRRRtrunR|RR(RR]RvRRRRRRRR((R RDs%

cCst|ii}|i\}}|i|t}|i
|djodSnt|i
dd|igdS(NR_(RRRhRiRjR;RkRlRmRntinitialize_entityRRRR(RR]RiRnRkR;((R R0sc
	Cs|djo|iid}n|iid}|idd|i|i}|i
|tijof|i
i}	t|	}|djo+|itd|id|dSnatddd|g}|i}|ddjo+|itd	|id|dSnti|	ddddtdd}|i|	|iidid
|i|djo-|iidi|	|id|qt|id
d
|i gn|iidid
dS(Ntinit_block_device_dlgtinit_block_device_dlg_pathiis&The path you specified does not exist.s/bin/lss-ltbs-The path you specified is not a Block Device.R_(!RRRRR-tlabelRxt
grab_focusRtrcR^R7tRESPONSE_APPLYRoRptpathtfollow_links_to_targetttargetRrRton_init_entity_from_menutexecWithCapturetotoutputtPhysicalVolumeR|Rntset_pathR~RRRR(
RtobjRRnRRRR	RR
((R Rs8



$
#cCs|i}|ii|}	t}
d}|	djoti|}|itidijo
d}n|djo>|io#|iot|}qdSqt|}qt||i|f}nt||	|f}|i|}|tijodSn|	djoGy|ii|	Wq`tj
o }|i|idSq`Xn|io|io|ii d}|ii d}|i#t$||i%}|i&|ti'jo
t(}
q|tijo
t}
qdSny|
o|}|ii*|}|ii+|tjoJt,|i-d}|i||it.d|i-ddSqn|ii/|Wn,tj
o }|i|idSnX|S(NR_itwhole_device_format_choicet whole_device_format_choice_labelsInitialization of %s failed(0RnRR
RRRt
mountPointR|tdoFormatRRRRRRRtneedsFormattwholeDevicetINIT_ENTITYtINIT_ENTITY_FILESYSTEMtINIT_ENTITY_MOUNTEDRRR7RRRRRRrRRR-tdialogR	R~tINIT_ENTITY_DEVICE_CHOICERR^tRESPONSE_YESRdtdevpathtpartition_UVtreread_partition_tabletRESTART_COMPUTERtgetDevnamesRR(RRnRR	RRR#R
R RRR((R Rsd










!	cCs
|ii}|djo|in|ii}
t	|
djoJxG|
D];}|i}|i
|t|it|idqSWn|ii}|i\}}	|i|	t}t|i}|ii||ii ||i!i"dS(Ni(#RR't	get_modelR;RtclearRRtRuRRvRRktsettNAME_COLRwtSIZE_COLtget_size_total_used_free_stringRRhRiRjRtiter_valRlRmRntADD_PV_TO_VG_LABELRtlabel_stringR*R~R<R2R\(RR]RiRnR0RvRRkR;R.Ru((R R4s$
	cGs|iitS(N(RR2R^Rd(Rtargs((R R3s
cCsQ|ii}|i\}}|i|t}|i
i}|i\}
}|
i|t
}|ii|}|it|iijo"|it|iidSny|ii|i|Wn,tj
o }	|i|	idSnXt }|i"|it#|i$|i%g|iidS(N(&RRRhRiRjRR.RlRmRnR'R;RkR+RRRRvtget_max_pvsRRRRrtEXCEEDED_MAX_PVSR2R^Rtadd_unalloc_to_vgRRRRRR1RRRRw(RR]RRiRnR1RvRRkRR;R.((R R5s(%

		cCs|iidS(N(RR2R^(RR]((R R65scCs|iid|_|iid|i|iid|_|iid|i|iid|_|iid|_	|iidid|i
|iidid|iti
tititititi}|ii|ti}tit|d	d
}|ii|ti}tit|d	d}|ii|ti}tit|dd
}|ii||ii i!ti"dS(Nton_extend_vg_buttonR#textend_vg_formR%textend_vg_treetextend_vg_labelton_ok_extend_vgton_cancel_extend_vgR+iitmarkupi(#RRR-R5R/ton_extend_vgR6textend_vg_delete_eventR7R8R9R:R7R8R9R:tTYPE_INTt
TYPE_PYOBJECTR;R<R=R>R?tENTITY_NAMER@RARBtENTITY_SIZERCt	renderer3tENTITY_TYPEtcolumn3Rhtset_modetSELECTION_MULTIPLE(RRBRBR>R;R@RDRC((R RE9s0cCs|ii}|i\}}|i|}|i	|t
}|it
|iijo|itdSn|i|iidS(N(RRRhRRjRRRRRlRmRvR2RRRRrR3trebuild_extend_vg_treeR6R\(RR]RvRRRR((R R<Vs%

cCs|ii}|djo|iin|ii}|i	\}}	|i|	}
|i|	t}|i\}}
|it|ii}|t|
jo|it|dSnt}x|
D]}|i|}|i|t }|i|t"}|t$jo9|i|t}|i&|}|djoqq[ny|i'i(||i)Wn+t*j
o}|i|i,qnXt-}qW|ii|ot.|i|i)gndS(N(/RR7RhRiRR6R^RRRjRRRRRlRmRvtget_selected_rowsR;ttreepathlistR2RRRtmax_addable_pvsRrtEXCEEDING_MAX_PVSR|Rttreepathtget_iterRkR+tentity_pathtVOL_TYPE_COLtentity_typet
UNINIT_VOLtentityRRR4RwRRRRdR(RR]RNRiRvRRRRkRPRRRJRRIRR;RRL((R R9bs@
"



cCs|iidS(N(RR6R^(RR]((R R:scGs|iitS(N(RR6R^Rd(RR1((R R=s
c

Cskdtd}dtd}|ii}
|
djo|
i	n|i
i}xQ|D]I}|
i}|
i|t|it|it|ttt|q\W|i
i}x_|D]W}|ioG|
i}|
i|t|it|it|ttt|qqW|ii}|i!\}}	|i$|	t}|i&i't(|i)dS(Ns<span foreground="#ED1C2A"><b>s</b></span>s<span foreground="#BBBBBB"><b>(*tUNALLOCATED_PVt	uv_stringt	UNINIT_DEt	iv_stringRR7R(R;RR)Rtquery_unallocatedtunallocated_volstvolRRkR*R+RR,tget_size_total_stringtPATH_COLROtUNALLOC_VOLRmtquery_uninitializedtuninitialized_listtitemt
initializableRQRRhRiRjRR.RlRvR8R~tADD_VG_LABELRw(
RRiRTRvRYRRVR^RXR.R;RkR_((R RGs<
	
	cGs|iitS(N(RRRR^Rd(RR1((R RSs
cCs{|iid|_|iid|i|iid|_|iid|i|iid|_|iid|i	|iid|_
|i
id|i|iid|_|iid|i
|iid|_|iid|i|iid|_|iid|i|iid	|_|iid|i|iid
id|idS(Ntremove_unalloc_pvR#ton_pv_rm_buttonton_lv_rm_buttonRRtbutton27tbutton35tcreate_snapshot_buttontinitialize_block_device1tactivate(RRR-RbR/ton_remove_unalloc_pvRcRRdRton_rm_select_lvs_buttonRton_rm_select_pvs_buttonRtmigrate_exts_buttonton_migrate_extstedit_lv_buttont
on_edit_lvRgton_create_snapshotR(R((R RFs"cCs|ii}|i\}}|i|t}|i
t|i}|tijodSniy|ii|iWn,tj
o }|i|idSnXt|idd|igdS(NR_(RRRhRiRjR;RkRlRmRnRtCONFIRM_PVREMOVERRR7RRRRRRrRRR(RR]RiRnRkRR;R((R Rjs	cCsa|ii}|i\}	}|	i|t}|i
djo|it
ddSnt|i
djo|it
ddSn|i
}|it||}|djodSng}x!|D]}|i|iqWy&|ii|i||iWn(tj
o}
|i|
inXt|i |i!i"gdS(Ns Please select some extents firsti(#RRRhRiRjR;RkRlRmRnRRRRRtextents_fromRR|Rtexts_from_structsRRRRRRRRRRrRRRRRw(RR]RiRnRtRsRkRRR;R((R Rns.

&cCs0|i}d}x"|D]}||id}qWd}g}xc|i	i
D]O}
||
jo<|
id}
|
|jo|i|
n||
}qVqVW||jo|itddSnh}x$|D]}|i}	|	||	<qWt|||i
}|ipdSn|S(Niiis{There are not enough free extents to perform the necessary migration. Adding more physical volumes would solve the problem.(RnRRvtneeded_extentstextsRRtfree_extentstpvsRRtpRtp_free_extsRRRrRRtlvsRRt
MigrateDialogtremovalRR(RR}RnRvRxRR{RvRuRRyRRwRz((R Rs4



cCs|ii}|i\}}|i|t}|i
}t|||i
|i}|itjodSnt|i|igdS(N(RRRhRiRjR;RkRlRmRRRvRRRRRR|RRRw(RR]RiRRvRkRR;((R RpscCs|ii}|i\}
}|
i|t}|i
}|it
|iijo|itdSn|io|itdSn|io|itdSn|i\}	}}|djo|it|idSn|iitjo|itdSnt |||i!|it"}|i$tjodSnt%|i&|igdS(Ni('RRRhRiRjR;RkRlRmRRRvRRRRRrRRtALREADY_A_SNAPSHOTtis_mirroredtCANNOT_SNAPSHOT_A_MIRRORRtt_extstu_extstf_extsRRwRtis_dm_snapshot_loadedR|tNO_DM_SNAPSHOTRRRdRRRR(RR]RiRvRRRRRkRR;((R Rqs0%






cCstiddtiti|}|i|i}|i
|tijotiSnV|tijotiSn;|ti
jotiSn |tijotiSn|SdS(Ni(R7t
MessageDialogRtMESSAGE_WARNINGtBUTTONS_YES_NORRtshow_allRRtdestroyRtRESPONSE_DELETE_EVENTtRESPONSE_CLOSEtRESPONSE_CANCEL(RRRR((R RAs 	

cCsEtiddtiti|}|i|i}|i
|S(Ni(R7RRt
MESSAGE_ERRORt
BUTTONS_OKRRRRRR(RRRR((R RrTs	

cCsEtiddtiti|}|i|i}|i
|S(Ni(R7RRtMESSAGE_INFORRRRRRR(RRRR((R R^s	

cCstiddtiti|}|i|i}|i
|tijotiSnV|tijotiSn;|ti
jotiSn |tijotiSn|SdS(Ni(R7RRRRRRRRRRRRRR(RRRR((R Rhs 	

cCs||_||_dS(N(RRR(RRR((R tregister_highlighted_sections{s	cCst|_d|_dS(N(RRRRR(R((R Rs	(,t__name__t
__module__R!RR1RTRVRUR[RXRRRRRRRRDR0RRR4R3R5R6RER<R9R:R=RGRSRFRjRnRRpRqRRrRRRR(((R RsR		'				L		
		<	.	)		!	B							)			!							#		
	
		R|cBs5tZdZdZdZdZdZRS(NcCs]d}tii|pdt|f}ntiittii	|dt|_ti|_
|iidi|i
|i
i|i
itx$|D]}|i
i|iqW|i
i}	|	i}|i
i||iid}
ti|_|
i|i|ii|iitt|djoVx$|D]}|ii|i!qZW|ii}	|	i}|ii|n|
i"|iid|_#|iid}|i#i%t&d	|o|i"n|iidi"|iid
i(d|i)|iidi(d|i*dS(
Nsmigrate_extents.glades%s/%stdomaintlv_selection_containertpv_selection_containeritdialog1t	msg_labelsMigrate extentstchoose_pv_radioR#tchoose_lv_check(+t	gladepathtosR
texistst
INSTALLDIRR7tgladetbindtextdomaintPROGNAMEtXMLRRtcombo_box_new_texttlv_comboR-tpack_endR\RR|R{Rtappend_textRwR(R;tget_iter_firstRktset_active_iterRtpv_comboRRxRyRR^RRt	set_titleRtmigrateR/ton_choose_pv_radioton_choose_lv_check(RRRxR{RRkRRyRR;R((R R!sH


cCsA|iidio|iitn|iitdS(NR(RRR-RRRRdR|(Rtobj1((R RscCsA|iidio|iitn|iitdS(NR(RRR-RRRRdR|(RR((R RscCs)|ii}|ii|tijS(N(RRRRR^R7tRESPONSE_OK(RR((R Rs
cCsQg}|iiditjo5|ii}|i	|ii
i|dn|i	d|iidio|i	dnb|iidio|i	dn8|iidio|i	dn|i	d|iid	io5|i
i}|i	|i
i
i|dn|i	d|S(
NRitradiobutton4tradiobutton5itradiobutton6iiR(tretRRR-RRdRtget_active_iterRkRR(RlRR(RRkR((R Rs"&

&
(RRR!RRRR(((R R|s
	/			RcBstZedZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
edZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ RS(Nc
Cs||_|djot|_t|_n!|io
t|_n
t|_||_||_||_||_	t
|_ti
}	|	d|_x|	D]}||i|i<qW|ioj|io5ti|ii|_|i|i|ii<n
|i|_d|_t|_t|_nti|i|_|ii|iijo|i|_n|ii|ii|i|i|ii<|ii|i|_ti|ii|_|idjo6|idjo
d|_n
|i|_t|_n
t|_|idj|_x+|iD] }|i|i|iq;Wd}t!i"i#|pdt$|f}nt%i&i't(t%i&i)|dt(|_*|i*i+d|_,t%i-|_.|i*i+di/|i.|i.i0t%i-|_1|i*i+di2|i1|i1i0t%i3t4d	|_5|i*i+di/|i5|i5i6dS(
NiR_slv_edit_props.glades%s/%sRRtsize_units_containertfilesys_containertOptions(7tsnapshotRRRRdtnewR|RvRRtdicttfilesystemsRRtfsstfs_noneRRRRtmount_pointtmounttmount_at_reboottpopRRRRptmountpoint_at_reboottfs_namet
set_clusteredRRRR
RRR7RRRRRR-RRtsize_units_comboRR\t
filesys_combot
pack_starttButtonRtfs_config_buttonR^(
RRRvRRRRRRR((R R!sr	
	


					


		


	


cCst}|ixto|ii}|ti	jo|iqq|ti
joXy"|itjot}PnWqtj
o#}|i|it}PqXqPqW|ii|S(N(R|tneed_reloadRt	setup_dlgRdRRRR7tRESPONSE_REJECTRRRRRrRR^(RRRR((R R0s(

	

c
CsV|ioK|io'|iitd|iiq|iitdnm|iioFtd}	|ii|	|ii|ii
difn|iitd|iid|_
|io|i
idn|i
i|ii|io|iidin|iidi|iid	}|i}|i}|i||io|io|iid
iq|iidit|iid	}|i}|i}|i|t|ii}|djo
d}n|iid
id||iid
iti nm|iio|iid
inC|iidi|iidi|iidi|iidi!|i"ti#|_"|iidi$|i"|i"i|i"i%|i&i'xI|i(D]>}|i&i'|jo%|i(|i*o|i"i%|qDqDW|i"i}|i}|i"i||i+|io|iiditn<|ip1|iio|iiditqn|iid|_,|io|i,idn|i,i|i-|iidi.|i/|iidi.|i0|i1d|iid|_3|iid|_4|iidi!|i5ti#|_5|iidi6|i5|i5ix*t7t8t9t:gD]}|i5i%|q9W|i5i}|i}|}xD|djo6|i=|dt8jo
|}n|i>|}qwW|i5i||ii?|_@d|_A|io
d|_Bn|iiCd|_B|iiCd|iB|_D|iE|iB|iF|iG|io&d|_H|iidi.tnF|iiI}|o
t|_Hn
d|_H|iidi.|t|_HtKtjo>|io|iidiq|iid
in|iLd|iMiNd|iO|i"iNd|iP|i5iNd|iQ|i3iNd|iR|i4iNd|iS|iidiNd|iT|iidiNd|iL|iidiNd|iU|iidiNd|i1|iidiNd|i1|iidiNd|iVdS(NsCreate A Snapshot of %ssCreate New Logical VolumesEdit %s, a Snapshot of %sisEdit Logical Volumetlv_nameR_t
revert_buttontstripe_sizetlv_properties_frametstripes_containeritstripes_numitlineartstripedRRRRt
size_scalet
size_entryRitenable_mirroringR#tchangeds
adjust-boundssfocus-out-eventtuse_remaining_button(WRRRRRRRRwRRRRR-t
name_entryR~R^R\tstripe_size_comboR(R;RRkRRR|RRvRtmax_stripest	set_rangetset_update_policyR7tUPDATE_IF_VALIDRRRRRRRRtfilesyst	creatabletfilesys_show_hidetmountpoint_entryRRRRton_mount_changedRRRRRtEXTENTSt	GIGABYTESt	MEGABYTESt	KILOBYTEStunittactive_iterRlt	iter_nexttget_extent_sizetextent_sizet
size_lowertsizeRt
size_uppertset_size_newtupdate_size_limitstchange_size_unitstmirror_to_diff_hdsRtalready_mirroredtMIRRORING_UI_SUPPORTton_enable_mirroringRR/ton_fs_configton_fs_changeton_units_changeton_size_change_scaleton_size_change_entryton_linear_changedton_striped_changedton_use_remaining(
RRRkRRRRR;RR((R RHs

':







 

$


!




	




	
		


cCs|iiditjo:|iidit|iiditdSn3|iidit|iiditdS(NRRR(RRR-RR|RRRd(RR((R RscCs|iiditjodSn|ii}t|djo.|i	t
|iiditdSn|iidi
tdS(NRiRR(RRR-RR|RvRRRRrtCANT_STRIPE_MESSAGERRdR(RRR((R Rs
cCsz|iiditjo|idSn|iitjo>|it	d|iidi
t|idSn|ipR|ii
o>|it	d|iidi
t|idSqn|ipc|iioO|iio>|it	d|iidi
t|idSqNn|idjo?|it	d}|tijo
t|_qt|_n|i|id}|djo|io>|it	d|iidi
t|idSqF|it	d|iidi
t|idSn|i|jo|ioD|i||it	d	|iidd
|iiqv|iitjot	d}|i i!}|i i#i$|d}t&|i'|d|}|i|||iidi
t|iidd
|iiqv|in|i|dS(
NRs?Underlying Logical Volume Management does not support mirrorings+Striped Logical Volumes cannot be mirrored.sALogical Volumes with associated snapshots cannot be mirrored yet.sThe primary purpose of mirroring is to protect data in the case of hard drive failure. Do you want to place mirror images onto different hard drives?isKLess than 3 hard drives are available with free space. Disabling mirroring.sOThere must be free space on at least three Physical Volumes to enable mirrorings[The size of the Logical Volume has been adjusted to the maximum available size for mirrors.isvThere is not enough free space to add mirroring. Reduce size of Logical Volume to at most %s, or add Physical Volumes.t ()RRR-RR|RRtis_mirroring_supportedRrRRRRt
is_stripedRRRRtquestionMessageRR7R"Rdt#_LV_edit_props__get_max_mirror_dataRvtmax_mirror_sizetsize_newRRRxR
RRRRkR(RltunitsRt_LV_edit_props__get_numtreduce_to_string(RRRkR
RRRR((R Rsj




!








cCs*g}x|iiD]}|id}|ip|i	i
o|i	idi}n
|i	g}xC|iD]1}|i|jo||id}qqWn|djo|i||fqqW|ioh}x|D]}|d}|d}
d}x1|iD]#}||ijo
|}q$q$W|djoct|idjo#|
|
|ggg||i<q|
|
|ggg||id<q||d|
||d<||di|
|gqW|i}t|idjodgggfSnxtt|dddD]o}xftd|D]U}||d||ddjo.||d}||||d<|||<q`q`WqJWx|D]}|d}xtt|dddD]o}xftd|D]U}||d||ddjo.||d}||||d<|||<qqWqWqWg}xE|D]=}|ddd}|ddd}|i||gquWxtt|dddD]o}xftd|D]U}||d||ddjo.||d}||||d<|||<qqWqW|dd|ddg|ddg|i&dgfSnt|djodgggfSnxtt|dddD]o}xftd|D]U}||d||ddjo.||d}||||d<|||<qqWqW|i&d}|ddg|dd}}	|ddg|dd}
}xa|dD]U}|	|jo#|	|d}	|i|dq||d}|
i|dqWd}|	|jo
|	}n|}|||
|gfSdS(Niiiii(-t	free_listRvRRRnRRwRRRRtget_segmentst
get_imagestlvs_to_matchRRRRRRtdevicestttpv_freeRtdevice_name_in_listR'tdevnametkeysRRtrangetitjttmptsort_metlargest_listtt_largest_sizett_largest_pvRtlogtbuck1ts1tbuck2ts2t
max_m_size(RRvRRRwRR!RRRRRRR RnRRRRRRRRR"R((R t__get_max_mirror_data1s

 





#'!
!!?!  


cCsf|iidi}|iidi}|p|o|iitn|iit	dS(NRR(
RRR-Rtm1tm2RRRdR|(RRR$R%((R Rs
cCsdS(N((RR]((R RscCs|i|iddS(N(RRRR(RR((R Rs
cCs|ii}|i|iii|did}|i	o|i
itn|i
it
|io6|iidit|iiditne|iidit
|iidit
|iidit
|iidit
dS(Nisutf-8tmountpoint_containertmount_containerRR(RRRRkRR(RltdecodeRteditableRRRdR|t	mountableRR-R(RRRk((R Rs+

cCs$|ii}|i|iii|did}|i	p|i
p|ip|i}|ip	|o|iidin|iidi|iio|iidi|iidi|iit|iit|iidit|iididSqt|iio+|iidio|iid	i|iidi|iit|iit|iidit|iidi|i|idSqp|iid	i|iidi|iit|iit|iidit|iidiqtnd
|_|djo!|i!i"d|i|_#n
||_#|i}||i%j}|o
t}n|o|iidi|iidi|iit|iit|iidit|iidinZ|i	p|i
p|i|_#n|ip|ip|i|_n|o|iidi|iidi|iit|iit|iidit|iidin|iidi|iidi|iit|iit|iidit|iidi|i|i|i|i#jo|iiditn|iidit|i'|i|i(dS(
Nisutf-8tfs_not_resizabletorigin_not_resizabletfree_space_labelRtremaining_space_labelRtmirror_not_resizableiitsize_scale_container()RRRRkRR(RlR(Rtextendable_onlinetextendable_offlinetreducible_onlinetreducible_offlinetfs_resizableRRR-R^R\RRRRR|RRRRRRdRtupperRRvRRtas_newRt	fs_changeRR(RR6R5RkR7RR8((R Rs+'
	
!		

cCs|idS(N(RR(RR((R RscCs|i|i}|i|i}|iid}|i	t
||iid}|i	t
||i|ijo|ii
||n|i|idS(Ntsize_begtsize_end(RR	RtlowerRR6RR-tsize_beg_labelR~Rtsize_end_labelRRRR(RR6R;R<R=((R RscCs|ii}|iii|d}|i|i}|i
id}|i
idio&d}||i|id|}n||i|i}tt|i|d|}|i
idi|tt|i|d|}|i
idi|dS(NiiRiRR-R.(RRRRkR(RlRRRtremRvRtrem_vgRR-Rtmirror_log_sizeRtREMAINING_SPACE_VGRR	t	string_vgR~tREMAINING_SPACE_AFTERtstring(RR@RDRkRBR>RR?((R tupdate_remaining_space_label&s !!cCs|i|idS(N(RRR(RR((R R5scCs)|ii}|i|i|dS(N(RRRlRRt_LV_edit_props__get_extents(RRtobj2R((R R8scCs}|ii}d}yt|}Wn;tj
o/}|iit	|i
|itSnX|i
|i|tS(Nf0.0(RRRot	size_textt
size_floattfloatt
ValueErrorRR~RR	RR|RRF(RRRGRRHRI((R R<s"	cCs|}||ijo
|i}n||ijo
|i}n||_|i|}|ii	t
||ii||i
dS(N(RvRRRRRR	t
size_unitsRR~RRt	set_valueRE(RRvRLR((R RFs

	cCs|ii}|iii|d}|tjot|Sn|t
jo#t|ddd|i}nU|tjot|dd|i}n)|t
jot|d|i}n|djo
d}n|S(Niii(RRRRkR(RlRRRtnumRRRR(RRNRkR((R t
__get_extentsQs

#



cCs|ii}|iii|d}|tjot|Sns|t
jo||iddd}nI|t
jo||idd}n#|tjo||id}ndt|}t|S(Nif1024.0s%.2f(RRRRkR(RlRRRtextentsRRtvalRRRJRD(RRPRDRQRkR((R t	__get_num_s



c-	CsI|iii}+t|i}|ii}#|i
|iii|#di
d}|ioI|iidi}|iidi}|iii}*nt}t}d}*|iidi}|iidi}|iid}|i}#t|ii|#d}t|iid	i}$t}"|+djo|it tSnd}t"i#d
|+pt"i#d|+ot$d}nt"i%d
|+pt"i%d|+ot$d}n|+ddjot$d}n|+djp
|+djot$d}nfxb|+D]Z}'|'t'i(t'i)djoq9q9|'t'i*jot$d}Pq9t$d|'}Pq9W|djo5|i||ii+dd|ii,tSnx|i-i.i/D]}}|i1|+jod|i2p!|i0i1|+joqq3n|ii+dd|ii,|it3|+tSqqW|p|o|*djo|it$dtSnt4i5i6|*tjo|i7t8|*}|t:i;joRyt4i<|*WqKt=j
o.}|it?|*|ii@dtSqKXqO|ii+ddtSqSn|i2oh}|+|tB<|i-i1|tC<tD|tE<||tF<||tG<||tH<|tIjo||tJ<|$|tK<n|iL|tM<|iLo|i0iN|tO<ng}|oe|iQ|i-\}
},}}(|,}x|D]}|iW|q4Wx|(D]}|iW|qRWn|iXiY|||iZi[|+|i-i1}|iLpCy|i]|Wqt^j
o}|iXi_||qXn|o|iXi`||*|ian|otbicd||*|iaqEn|+|i0i1j}||ifj}|ihtiijihjo|ifihtiikihj}	|	o3|i7t$d} | t:injo
t}	qnd}&|i0ioo|i0ipd}&n||iRj}||iRj}
||iRj}|i0ito%|o|iXiu|i0iNn|i`}t})tI}%|p|p
|tjo
tI})n|o|i0ito
tI})nt}tz|i0i{djo$|i0i{ddjo
tI}n|o*|tjo|it$d} tSn|oX|ifih|i|ihjo?|	o7|i}t$d} | t:injotSnt}%nX|&pP|
o|o|ifi~o
tI})n|o|o|ifio
tI})qn|)ol|oe|%oA|i}t|i0iN|if} | t:injotSq6	n|iXiw|it}n|o,|iXi|i-i1|i0i1|+n|iZi[|+|i-i1}|i0iN}!|o|o|	p|&o>||iRjo|iXi||qy|iXi||q}||iRjo>|iXi||y|oN|ifi~o|ifi|q4|iXiw|it}|ifi|n|ifio|ifi|nd }x%t4i|t4io|d!}q
Wt4i<||iXi`||tii|ia|ifi||iXiw|t4i|Wqy|iXi||iRqyXq}||i}|oT|ifio|ifi||qf|iXiw|it}|ifi||n|ifio|ifi||nd }x%t4i|t4io|d!}qWt4i<||iXi`|||ifi|||iXiw|t4i||iXi||n|i0ito|o|iZi|iZi|i0ii1i.|+|_0|i|i0}|djo|it$d"q
|it$d#n|"o|o|ifi|n|o,|	o|ifi|qs
|i]|n|ifia}|o
|ia}n|o"|o|iXi`||*|ntbi|!}|of|tbidjo8tbic|!||*||tbi|tbi|tbiqEtbic|!||*|ntbi|!tIS($Nisutf-8RRR_RRRRRtpvmovesBNames beginning with "snapshot" or "pvmove" are reserved keywords.t_mlogt_mimages<Names containing "_mlog" or "_mimage" are reserved keywords.t-s&Names beginning with a "-" are invalidt.s..s Name can be neither "." nor ".."s._-+s3Whitespaces are not allowed in Logical Volume namess-Invalid character "%s" in Logical Volume nameisPlease specify mount pointsFDo you want to upgrade ext2 to ext3 preserving data on Logical Volume?iiRsgLogical volume is not mounted but is in use. Please close all applications using this device (eg iscsi)sfChanging the filesystem will destroy all data on the Logical Volume! Are you sure you want to proceed?s/tmp/tmp_mountpointt1s/Mirror not created. Completing remaining tasks.slUnderlaying LVM doesn't support addition of mirrors to existing Logical Volumes. Completing remaining tasks.(RRRoRptname_newRRRRRkRR(RlR(tfilesys_newR*RR-Rt	mount_newtmount_at_reboot_newRtmountpoint_newR|tmirrored_newRRRtget_value_as_intRtfs_options_changedRrtMUST_PROVIDE_NAMEtinvalid_lvname_messagetretmatchRtsearchRRDt
ascii_letterstdigitst
whitespaceRxR
RvRRRRwRtNON_UNIQUE_NAMERR
RRt
BAD_MNT_POINTRR7R"tmkdirtOSErrorRtBAD_MNT_CREATIONR~tnew_lv_command_settNEW_LV_NAME_ARGtNEW_LV_VGNAME_ARGt
EXTENT_IDXtNEW_LV_UNIT_ARGtNEW_LV_SIZE_ARGtNEW_LV_IS_STRIPED_ARGtNEW_LV_MIRRORINGRdtNEW_LV_STRIPE_SIZE_ARGtNEW_LV_NUM_STRIPES_ARGRtNEW_LV_SNAPSHOTRtNEW_LV_SNAPSHOT_ORIGINtpvs_to_create_atRRtb1tb2tl1RnRRtnew_lvRtget_logical_volume_pathtlv_pathtcreateRRRtfsnameRtaddRtrenameRtfilesys_changeRRtext3text2text2_to_ext3RRRRtresizetextendtreduceRtremove_mirroringtmountedRtunmount_prompttlv_openRtget_attrRRR1R3tUNMOUNT_PROMPTRt	rename_lvtlv_path_oldt	extend_lvt	reduce_lvt
extend_onlinetextend_offlineR2ttmp_mountpointtaccesstF_OKRtrmdirRtnew_size_bytest
reduce_onlinetreduce_offlineR4RRRt$_LV_edit_props__make_room_for_mirrortpvlist_from_make_roomRtchange_optionstupgradetget_mount_optionstfstab_optOPTIONStDUMPtFSCKR(-RRRR|RRRRbRRRRRnRRZRRRzRR[RR\RRRRnRRRRR^RRRR`RkRRRRR}RR]RYR{((R Rms+


&&

















!4	

6
(

%
,


"





.

8
cCs|i|i\}}}}|}x|D]}|i
|q/Wx|D]}|i
|qMW|i|}t
|djo|Snd}xt|D]l}|d|di}|dt|ddt|d|dd}|d|d	i}qW|itd
d|dtd}|tijo{xp|D]h}|d}	|d}|d}
|d	}
|ii|	i||
fg|
id|igqMW|SndSdS(NiR_s
t:iRVis   -> is<In order to add mirroring, some extents need to be migrated.s)Do you want to migrate specified extents?(RRRRRtbucket1tbucket2tlogst
return_pvlistRnRt-_LV_edit_props__get_structs_for_ext_migrationtstructsRRDtstructRRRRRR7R"tpv_fromt	ext_startRtpv_toRRR(RRRnRRRRRRRRRRRRRD((R t__make_room_for_mirrors<!6+



 cCs|i|i\}}}}|i|||i||jo
|}n|}g}	x>|iiiD]$}||jo|	i|ququWg}d}||}
|
id}
x|	D]}x	|iD]}|i|joqn|i\}}x|djo||
jop|i|||
|
g||
}||
}|d}|t|jo|Sn||}
|
id}
q|i||||
g||}||}|
|}
qWqWqW|S(Niii(RRRRRRRRt*_LV_edit_props__get_extent_count_in_buckett	bucket_totbucket_fromRRRnRRtbucket_to_iRRRRRt	ext_blockRRtblock_startt
block_sizeR(RRRRRnRRRRRRRRRRRR((R t__get_structs_for_ext_migrationsH!%











cCs]d}xP|D]H}x?|iD]1}|i|jo||id}q q Wq
W|S(Nii(t	ext_countt
bucket_pvsRnRRRRR(RRRRRnR((R t__get_extent_count_in_buckets
 cCsEtiddtiti|}|i|i}|i
|S(Ni(R7RRRRRRRRRR(RRRR((R Rrs	

cCsEtiddtiti|}|i|i}|i
|S(Ni(R7RRRRRRRRRR(RRRR((R R	s	

cCstiddtiti|}|i|i}|i
|tijotiSnV|tijotiSn;|ti
jotiSn |tijotiSn|SdS(Ni(R7RRRRRRRRRRRRRR(RRRR((R R	s	

cCstiddtiti|}|i|i}|i
|tijotiSnV|tijotiSn;|ti
jotiSn |tijotiSn|SdS(Ni(R7RRRRRRRRRRRRRR(RRRR((R R#	s	

(!RRR|R!RRRRRRRRRRRRRRRERRRRRFR	RRRRRrRRR(((R Rs<G				
	C	h				X						
				A	!	)						(it__doc__RDRRctstattos.pathR9tlocalet	lvm_modelRtlvmui_constantsRRRtSegmenttSTRIPED_SEGMENT_IDtExtentBlocktWaitMsgRtexecuteRtexecWithCaptureErrorStatustexecWithCaptureStatust	utilitiesRtgettextRR7t	gtk.gladetRuntimeErrorRtsystexittgnometgnome.uitTYPE_COLR,ROR\RQR/tMEGA_MULTIPLIERtGIGA_MULTIPLIERtKILO_MULTIPLIERtDEFAULT_STRIPE_SIZE_IDXRRtDEFAULT_EXTENT_SIZERRtNO_FILESYSTEM_FStACCEPTABLE_STRIPE_SIZESRR@RARCRSRURaRRiRyRaRsRjRmtNOT_IMPLEMENTEDRR3RKRR~RRRtTYPE_CONVERSION_ERRORtMOUNTED_WARNINGRtREMAINING_SPACE_VGNAMEtREMAINING_SPACE_MEGABYTEStREMAINING_SPACE_KILOBYTEStREMAINING_SPACE_GIGABYTEStREMAINING_SPACE_EXTENTSRARCRRRRtNUMBERS_ONLYR}RRrRRRRRRRRRRR|R(]RRRR,RRRRR7RRRDRRRRCRRRR|R@RRRKRR~RCRQRRcRrRRRyRORRRmRRRRRRRRRRRRaR/RsRSRRaR3RRRRRRRRARRRRRRRRiRRRRRRRARURR\RRR}R9RRRRRRjR((R t?s							


		


	
			
		$
a

Anon7 - 2021