403Webshell
Server IP : 182.53.201.61  /  Your IP : 216.73.217.175
Web Server : Apache/2.2.15 (Fedora)
System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686
User : apache ( 48)
PHP Version : 5.3.3
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/system-config-lvm/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/system-config-lvm/InputController.pyc
=Jc%@sdZddkZddkZddkZddkZddkZddkZddkZddklZddk	l	Z	ddk
TddklZddkZddk
Z
ddklZddklZdd	klZddkZdd
klZlZlZddklZddkZeiZyddkZddkZWn1ej
o%ZedeGHei dnXddk!Z!ddk"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.
iN(t	lvm_model(tCommandHandler(t*(tCommandError(tSTRIPED_SEGMENT_ID(tExtentBlock(tWaitMsg(texecWithCapturetexecWithCaptureErrorStatustexecWithCaptureStatus(tfollow_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
iiis#Select a Volume Group to add %s to:g.AgeAg@@iiiiii 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?tInputControllercBseZdZdZdZdZdZdZdZdZ	dZ
d*d	Zd
Z
d*dZdZd
ZdZdZd*dZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"d Z#d!Z$d"Z%d#Z&d$Z'd%Z(d&Z)d'Z*d(Z+d)Z,RS(+cCst||_||_||_||_t|_t|_t|_	|i
|iio|iindS(N(
treset_tree_modelttreeviewt
model_factoryt	glade_xmlRtcommand_handlertlisttsection_listtUNSELECTABLE_TYPEtsection_typet
setup_dialogstpvmove_in_progresstcomplete_pvmove(tselfRRRR((s//usr/share/system-config-lvm/InputController.pyt__init__s					
cCs|iid|_|iid|i|i|iid|_|iid|i|iid|_|iid|i	|iid|_
|iid|_|iid|i|iid|_
|i
id|i|iid	|_tititi}|i
i|ti}tid
|dd}|i
i|ti}tid
|dd}|i
i||i
iid|i|iid|_|iid|i|i|idS(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 GroupsttextiRitchangedt
new_lv_button(Rt
get_widgettinit_entity_buttontconnectton_init_entitytsetup_new_vg_formtadd_pv_to_vg_dlgtadd_pv_to_vg_delete_eventR.ton_add_pv_to_vgR/R0ton_ok_add_pv_to_vgR1ton_cancel_add_pv_to_vgR2tgtkt	ListStoretgobjecttTYPE_STRINGt	set_modeltCellRendererTexttTreeViewColumnt
append_columnt
get_selectiontvg_selection_on_changeR5t	on_new_lvtsetup_extend_vg_formtsetup_misc_widgets(R(tmodelt	renderer1tcolumn1t	renderer2tcolumn2((s//usr/share/system-config-lvm/InputController.pyR%s6

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(RR6t
new_vg_dlgR8tnew_vg_delete_eventRSt	on_new_vgRTt	ok_new_vgRUt
cancel_new_vgRVRWRXRYtnew_vg_radio_megtchange_new_vg_radiotnew_vg_radio_kilotnew_vg_clustered(R(((s//usr/share/system-config-lvm/InputController.pyR:s cCs|i|iidS(N(tprep_new_vg_dlgR]tshow(R(tbutton((s//usr/share/system-config-lvm/InputController.pyR_s
cCs|iidS(N(R]thide(R(Rh((s//usr/share/system-config-lvm/InputController.pyRasc
Csd}d}d}d}t}t}t}|ii}	|	i\}
}|
i|t}|iii}
|
djo|i	t
dS|ii}xJ|D]B}|i
|
jo)|iidd|i	t|
dSqW|
}|ii}|itjo(|i	t|iittdSt|}|djp
|tjo(|i	t|iittdS|}|ii}|itjo(|i	t|iittdSt|}|djp
|tjo(|i	t|iittdS|}|ii}|ii}|ii}|ot d}|i!|ny<|i"i#|t|t|t$|||i%|Wn(t&j
o}|i	|i'nX|i(i)t*|i+|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(,tTrueRRHtget_selectedt	get_valuetOBJ_COLRVtget_texttstripterrorMessagetMUST_PROVIDE_VG_NAMERtget_VGstget_namet
select_regiontNON_UNIQUE_VG_NAMERWtisalnumtFalsetNUMBERS_ONLY_MAX_PVStset_texttstrtMAX_PHYSICAL_VOLStintRXtNUMBERS_ONLY_MAX_LVStMAX_LOGICAL_VOLSRYtget_historyRbt
get_activeRet_tinfoMessageR t
create_new_vgtACCEPTABLE_EXTENT_SIZEStget_pathRt
getMessageR]RitapplyR(R(RhtName_requesttmax_physical_volumestmax_logical_volumestphys_extent_sizetphys_extent_units_megt
autobackupt	resizablet	selectionRMtitertpvt
proposed_nametvg_listtvgt
max_pvs_fieldtmax_pvst
max_lvs_fieldtmax_lvst
extent_idxt	clusteredtmsgte((s//usr/share/system-config-lvm/InputController.pyR`s|

	



			
cCsp|iid|iitt|iitt|iit	|i
it|i
itdS(NRj(RVRzRWR{R|RXRRbt
set_activeRkRYtset_historytDEFAULT_EXTENT_SIZE_MEG_IDXReRx(R(((s//usr/share/system-config-lvm/InputController.pyRfFscCs|ii}|i}|iitjo6|dit|dit|iitn3|dit	|dit	|iit
dS(Nii(RYtget_menutget_childrenRbRRkt
set_sensitiveRRRxtDEFAULT_EXTENT_SIZE_KILO_IDX(R(Rhtmenutitems((s//usr/share/system-config-lvm/InputController.pyRcNscCs|idS(N(t	remove_pv(R(Rh((s//usr/share/system-config-lvm/InputController.pyton_pv_rm[scCs9t}t}t}|djo=t}|ii}|i\}}|i|t}n|i}x|i	D]}	|	i
}
|
iod}|
io5t
d}||i|
i|if}nB|
io5t
d}||i|
i|if}n|
ioHt
d}||i|
i|
idi|if}n|
io|
i}t|djot
d}n
t
d}|di}
x&|dD]}|d|i}qW||i|
i|
|if}n|djo|i|tSququW|i\}}}|ii}t|djo
t}nt}|i	}t|djo+|di
io
t}qt}nt}|tjo|o|it|i|if}|tijotSy|ii|iWqt j
o}|i|i!tSXq|it"|i|if}|tijotSy#|ii#|i|iWqt j
o}|i|i!tSXn|o|it$|itS|i\}}}||}||jo|ii%tjo|it&tS|it"|i|if}|tijotSx9|D]0}|i
itjo|i'|qqW|i(t||}|djotSg}x!|D]}|i)|i*q"Wy&|ii+|i||i,Wn)t j
o}|i|i!tSXy#|ii#|i|iWqt j
o}|i|i!tSXn(|it-|i|iftS|tjot.|i/|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, (0RkRxtNoneRRHRlRmRntget_vgtget_extent_blockstget_lvtis_usedt
is_mirror_logRRRttis_mirror_imagetis_snapshottget_snapshot_infot
has_snapshotst
get_snapshotstlenRqtget_extent_total_used_freetget_pvstvaluestwarningMessagetCONFIRM_VG_REMOVER@tRESPONSE_NOR t	remove_vgRRtCONFIRM_PV_VG_REMOVEt	reduce_vgt
SOLO_PV_IN_VGtis_dm_mirror_loadedtNO_DM_MIRRORtremovetmigrate_exts_dlgtappendtget_start_sizetmove_pvtget_datatNOT_ENOUGH_SPACE_VGRR(R(Rt
mapped_lvstsolo_pvt
reset_treeRRMRRtextentt
extents_lvt
error_messaget	snapshotstsnapshots_stringtsnaptsnapshot_stringttotaltalloctfreetpv_listtextent_listtretvalRt	ext_totaltext_usedtext_freetactual_free_extstexttdlgtexts_structs((s//usr/share/system-config-lvm/InputController.pyR^s



)
)
<
,







%
%#



%
&#
#
cCs|idS(N(t	remove_lv(R(Rh((s//usr/share/system-config-lvm/InputController.pyton_lv_rmscCst}|djo=t}|ii}|i\}}|i|t}n|io|i	}t
|djo+|it|i
|di
fnW|di
}x&|dD]}|d|i
}qW|it|i
|ftS|ii|i}	ti|i}
|
itidijo
d}
nti|i}d}|	djoG|
djot|i
}qt|i
|
i|i
f}n t|i
|	|i
f}|i|}
|
tijotS|	djoDy|ii|	WqYt j
o}|i|i!tSXn|djoti"|ny|ii#|iWn)t j
o}|i|i!tSX|o#t$|i%|i&i
gntS(Niis, ('RxRRkRRHRlRmRnRRRRqtCANNOT_REMOVE_UNDER_SNAPSHOTRttCANNOT_REMOVE_UNDER_SNAPSHOTSRt
getMountPointRt
Filesystemtget_fstnametget_filesystemstFstabtget_mountpointtCONFIRM_LV_REMOVEtCONFIRM_LV_REMOVE_FILESYSTEMtCONFIRM_LV_REMOVE_MOUNTEDRR@RR tunmountRRRRRRR(R(tlvRRRMRRt	snaps_strRt
mountpointtfstfstab_mountpointtmessageRR((s//usr/share/system-config-lvm/InputController.pyRs\

+


&


#c
Cs|idjodS|i}t|djodS|di}xm|D]e}|ioRxO|iD]=}||jo*|itdtd|i	dSqnWqNqNWt
}t
}x|D]}|io|i||i
|o
t}ql|id}||joFtd}	|	|i	|i	f}	|i|	|i|qlqqW|o/|ii|ii|i	}t}nx8|D]0}|i
|i|i	o
t}qqW|o'|it|i|i	gndS(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.(R"RRRRRRqtUNABLE_TO_PROCESS_REQUESTRRtRxRRRRkRtsimpleInfoMessageRtreloadtget_VGtget_lvstclear_highlighted_sectionsRR(
R(Rht
lvs_to_removeRRRt
reload_lvmRtoriginR((s//usr/share/system-config-lvm/InputController.pyton_rm_select_lvs*sN



%






 
cCs|idjodSt|idjodSx|iD]}x|iD]}|i}|iod}|ip
|io,td}||i	|i	f}nG|i
p
|io,td}||i	|i	f}n|djo|it
d|dSqMqMWq:Wt}xr|iD]g}|i	}|ii}|ii|i|}	|i|	o|iit}q;q;W|ii}
|
i\}}|i|t}
|o'|it|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
(R"RRRRRRRRRRRRqRRxRRtRRRRRRkRRHRlRmRnRRR(R(RhRRRRRtpvpathtvgnametpv_to_removeRRMRR((s//usr/share/system-config-lvm/InputController.pyton_rm_select_pvsXsF


  



cCs|ii}|i\}}|i|}|i|t}t|ii|i	jo|i
tdS|i\}}}	|	djo|i
t
|idStd||i|i}
|
itjodSt|i|igdS(Ni(RRHRlRRmRnRRRtget_max_lvsRqtEXCEEDED_MAX_LVSRtNOT_ENOUGH_SPACE_FOR_NEW_LVRtt
LV_edit_propsRRR trunRxRR(R(Rhtmain_selectiont
main_modelt	main_itert	main_pathRt
total_extst	used_extst	free_extsR((s//usr/share/system-config-lvm/InputController.pyRJs%

cCsq|ii}|i\}}|i|t}|i|djodSt|idd|i	gdS(NRj(
RRHRlRmRntinitialize_entityRRRR(R(RhRRMRR((s//usr/share/system-config-lvm/InputController.pyR9sc
	Cs|djo|iid}n|iid}|idd|i|i}|i|tijo`|i	i
}t|}|djo(|it
d|id|dStddd|g}|i
}|ddjo(|it
d	|id|dSti|ddddtdd}	|	i||iidid
|i|	djo-|iidi||id|qt|id
d
|	ign|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.Rj(RRR6Rut
grab_focusRRiR@tRESPONSE_APPLYRoRpR
RqRton_init_entity_from_menuRtPhysicalVolumeRxtset_pathRzRRRR(
R(tobjRtlabeltrctpathttargettotoutputR((s//usr/share/system-config-lvm/InputController.pyRs8



$
#c
Cs|i}|ii|}t}d}|djoti|}|itidijo
d}n|djo>|i	o#|i
ot|}qdSqt|}qt||i|f}nt
|||f}|i|}|tijodS|djoDy|ii|WqZtj
o}|i|idSXn|i	o|i
o|iid}	|iid}
|
it||	i}|	i|tijo
t}q|tijo
t}qdSny|o||}|ii|}|ii|tjoGt |i!d}|i||it"d|i!ddSn|ii#|Wn)tj
o}|i|idSX|S(NRjitwhole_device_format_choicet whole_device_format_choice_labelsInitialization of %s failed($RRRRxRRRRRtneedsFormattwholeDevicetINIT_ENTITYtINIT_ENTITY_FILESYSTEMtINIT_ENTITY_MOUNTEDRR@RR RRRqRRR6RztINIT_ENTITY_DEVICE_CHOICERRitRESPONSE_YESRktpartition_UVtreread_partition_tabletRESTART_COMPUTERtgetDevnamesRR(R(RRt
mountPointtdoFormatRRRRtdialogRtdevpath((s//usr/share/system-config-lvm/InputController.pyRsd










!	cCsV|ii}|i\}}|djo|iitn|iitdS(N(R/RHRlRR0RRxRk(R(t	tree_viewRRMR((s//usr/share/system-config-lvm/InputController.pyRIs

cCs
|ii}|djo|in|ii}t|djoJxG|D];}|i}|i|t	|i
t|idqSWn|i
i}|i\}}|i|t}	t|	i}
|ii|
|ii||iidS(Ni(R/t	get_modelRtclearRRsRRtsettNAME_COLRttSIZE_COLtget_size_total_used_free_stringRRHRlRmRntADD_PV_TO_VG_LABELRR2RzRDR;Rg(R(RhRMRRRRRtiter_valRtlabel_string((s//usr/share/system-config-lvm/InputController.pyR=	s$
	cGs|iitS(N(R;RiRk(R(targs((s//usr/share/system-config-lvm/InputController.pyR<s
cCs]|ii}|i\}}|i|t}|ii}|i\}}|djodS|i|t}|ii	|}	|	i
t|	ii
jo|it|iidSy|ii|i|Wn)tj
o}
|i|
idSXt}|i|it|i|	ig|iidS(N(RRHRlRmRnR/RR3RRtget_max_pvsRRRRqtEXCEEDED_MAX_PVSR;RiR tadd_unalloc_to_vgRRRR!RRRRt(R(RhRRR7RRMRRRRR9((s//usr/share/system-config-lvm/InputController.pyR>"s,
%

	cCs|iidS(N(R;Ri(R(Rh((s//usr/share/system-config-lvm/InputController.pyR?AscCs|iid|_|iid|i|iid|_|iid|i|iid|_|iid|_|iidid|i	|iidid|i
tit
it
it
it
it
i}|ii|ti}tit|d	d
}|ii|ti}tit|d	d}|ii|ti}tit|dd
}|ii||iiitidS(Nton_extend_vg_buttonR+textend_vg_formR-textend_vg_treetextend_vg_labelton_ok_extend_vgton_cancel_extend_vgR3iitmarkupi(RR6R=R8ton_extend_vgR>textend_vg_delete_eventR?R@RARBR@RARBRCtTYPE_INTt
TYPE_PYOBJECTRDRERFtENTITY_NAMERGtENTITY_SIZEtENTITY_TYPERHtset_modetSELECTION_MULTIPLE(R(RMRNRORPRQt	renderer3tcolumn3((s//usr/share/system-config-lvm/InputController.pyRKEs0cCs|ii}|i\}}|i|}|i|t}|it|ii	jo|i
tdS|i|i
idS(N(RRHRlRRmRnR:RRRRqR;trebuild_extend_vg_treeR>Rg(R(RhRRR	R
R((s//usr/share/system-config-lvm/InputController.pyRDbs%

cCs|ii}|djo|iin|ii}|i\}}|i|}|i|t	}|i
\}}	|it|i
i}
|
t|	jo|it|
dSt}x|	D]}|i|}
|i|
t}|i|
t}|tjo9|i|
t	}|i|}|djoqqXny|ii||iWn+tj
o}|i|iqnXt}qW|ii|ot|i|igndS(N(R?RHRR>RiRRlRRmRntget_selected_rowsR:RRRRqtEXCEEDING_MAX_PVSRxtget_iterR3tVOL_TYPE_COLt
UNINIT_VOLRR R<RtRRRkRR(R(RhRRRR	R
RRMttreepathlisttmax_addable_pvsRttreepathRtentity_pathtentity_typetentityR((s//usr/share/system-config-lvm/InputController.pyRAns@
"



cCs|iidS(N(R>Ri(R(Rh((s//usr/share/system-config-lvm/InputController.pyRBscGs|iitS(N(R>RiRk(R(R9((s//usr/share/system-config-lvm/InputController.pyREs
c
Cskdtd}dtd}|ii}|djo|in|ii}xQ|D]I}|i}|i	|t
|it|i
t|ttt|q\W|ii}x_|D]W}|ioG|i}|i	|t
|it|i
t|ttt|qqW|ii}	|	i\}
}|
i|t}|iit|idS(Ns<span foreground="#ED1C2A"><b>s</b></span>s<span foreground="#BBBBBB"><b>(tUNALLOCATED_PVt	UNINIT_DER?R0RR1Rtquery_unallocatedRR2R3RR4tget_size_total_stringtPATH_COLRStUNALLOC_VOLRntquery_uninitializedt
initializableRTRRHRlRmR@RztADD_VG_LABELRt(
R(t	uv_stringt	iv_stringRMtunallocated_volstvolRtuninitialized_listtitemRRR7R((s//usr/share/system-config-lvm/InputController.pyROs<
	
	cGs|iitS(N(R]RiRk(R(R9((s//usr/share/system-config-lvm/InputController.pyR^s
cCs{|iid|_|iid|i|iid|_|iid|i|iid|_|iid|i|iid|_	|i	id|i
|iid|_|iid|i|iid|_
|i
id|i|iid|_|iid|i|iid	|_|iid|i|iid
id|idS(Ntremove_unalloc_pvR+ton_pv_rm_buttonton_lv_rm_buttonRRtbutton27tbutton35tcreate_snapshot_buttontinitialize_block_device1tactivate(RR6RjR8ton_remove_unalloc_pvRkRRlRton_rm_select_lvs_buttonRton_rm_select_pvs_buttonRtmigrate_exts_buttonton_migrate_extstedit_lv_buttont
on_edit_lvRoton_create_snapshotR(R(((s//usr/share/system-config-lvm/InputController.pyRLs"cCs|ii}|i\}}|i|t}|it|i}|ti	jodSy|i
i|iWn)tj
o}|i
|idSXt|idd|igdS(NRj(RRHRlRmRnRtCONFIRM_PVREMOVERR@RR RRRqRRR(R(RhRRMRRRR((s//usr/share/system-config-lvm/InputController.pyRrsc
CsX|ii}|i\}}|i|t}|idjo|itddSt	|idjo|itddS|i}|i
t||}|djodSg}x!|D]}	|i|	i
qWy&|ii|i||iWn(tj
o}
|i|
inXt|i|iigdS(Ns Please select some extents firsti(RRHRlRmRnR"RRRRRRxRRR RRRRRqRRRRRt(R(RhRRMRRtextents_fromRtexts_from_structsRR((s//usr/share/system-config-lvm/InputController.pyRvs.

&c
Cs*|i}d}x"|D]}||id}qWd}g}xc|iiD]O}	||	jo<|	id}
|
|jo|i|	n||
}qVqVW||jo|itddSh}x$|D]}|i	}|||<qWt
|||i}
|
ipdS|
S(Niiis{There are not enough free extents to perform the necessary migration. Adding more physical volumes would solve the problem.(RRRRRRRqRRRt
MigrateDialogR(R(tremovalRtextsRtneeded_extentsRtfree_extentstpvstptp_free_extstlvsRR((s//usr/share/system-config-lvm/InputController.pyRs4



cCs|ii}|i\}}|i|t}|i}t|||i|i}|i	t
jodSt|i|i
gdS(N(RRHRlRmRnRRRR RRxRRRt(R(RhRRMRRRR((s//usr/share/system-config-lvm/InputController.pyRxscCsm|ii}|i\}}|i|t}|i}|it|ii	jo|i
tdS|io|i
t
dS|io|i
tdS|i\}}}	|	djo|i
t|idS|iitjo|i
tdSt|||i|it}
|
itjodSt|i|igdS(Ni(RRHRlRmRnRRRRRRqRRtALREADY_A_SNAPSHOTtis_mirroredtCANNOT_SNAPSHOT_A_MIRRORRRRtR tis_dm_snapshot_loadedRxtNO_DM_SNAPSHOTRRRkRRR(R(RhRRMRRRtt_extstu_extstf_extsR((s//usr/share/system-config-lvm/InputController.pyRy*s0%






cCstiddtiti|}|i|i}|i|tijotiS|ti	jotiS|ti
jotiS|tijotiS|SdS(Ni(R@t
MessageDialogRtMESSAGE_WARNINGtBUTTONS_YES_NOtshow_allRtdestroyRtRESPONSE_DELETE_EVENTtRESPONSE_CLOSEtRESPONSE_CANCEL(R(RRR((s//usr/share/system-config-lvm/InputController.pyRMs 	

cCsEtiddtiti|}|i|i}|i|S(Ni(R@RRt
MESSAGE_ERRORt
BUTTONS_OKRRR(R(RRR((s//usr/share/system-config-lvm/InputController.pyRq`s	

cCsEtiddtiti|}|i|i}|i|S(Ni(R@RRtMESSAGE_INFORRRR(R(RRR((s//usr/share/system-config-lvm/InputController.pyRjs	

cCstiddtiti|}|i|i}|i|tijotiS|ti	jotiS|ti
jotiS|tijotiS|SdS(Ni(R@RRRRRRRRRRR(R(RRR((s//usr/share/system-config-lvm/InputController.pyRts 	

cCs||_||_dS(N(R$R"(R(R$R"((s//usr/share/system-config-lvm/InputController.pytregister_highlighted_sectionss	cCst|_d|_dS(N(R#R$RR"(R(((s//usr/share/system-config-lvm/InputController.pyRs	N(-t__name__t
__module__R)R%R:R_RaR`RfRcRRRRRRRRJR9RRRIR=R<R>R?RKRDRARBREROR^RLRrRvRRxRyRRqRRRR(((s//usr/share/system-config-lvm/InputController.pyRsT		(				L		
		<	.	)		!	B									)			!							#		
	
		R}cBs5eZdZdZdZdZdZRS(cCs]d}tii|pdt|f}ntiittii|dt|_	ti
|_|i	idi
|i|ii|iitx$|D]}|ii|iqW|ii}|i}|ii||i	id}ti
|_|i
|i|ii|iitt|djoVx$|D]}	|ii|	iqZW|ii}|i}|ii|n|i|i	id|_|i	id}
|iitd	|o|
in|i	idi|i	id
id|i|i	idid|idS(
Nsmigrate_extents.glades%s/%stdomaintlv_selection_containertpv_selection_containeritdialog1t	msg_labelsMigrate extentstchoose_pv_radioR+tchoose_lv_check( tosRtexistst
INSTALLDIRR@tgladetbindtextdomaintPROGNAMEtXMLRtcombo_box_new_texttlv_comboR6tpack_endRgRRxtappend_textRtR0tget_iter_firsttset_active_itertpv_comboRRRiRt	set_titleRR8ton_choose_pv_radioton_choose_lv_check(R(tmigrateRRt	gladepathRRMRRRR((s//usr/share/system-config-lvm/InputController.pyR)sH


cCsA|iidio|iitn|iitdS(NR(RR6RRRRkRx(R(tobj1((s//usr/share/system-config-lvm/InputController.pyRscCsA|iidio|iitn|iitdS(NR(RR6RRRRkRx(R(R((s//usr/share/system-config-lvm/InputController.pyRscCs)|ii}|ii|tijS(N(RRRiR@tRESPONSE_OK(R(R((s//usr/share/system-config-lvm/InputController.pyRs
cCsQg}|iiditjo5|ii}|i|iii|dn|id|iidio|idnb|iidio|idn8|iidio|idn|id|iid	io5|i
i}|i|i
ii|dn|id|S(
NRitradiobutton4tradiobutton5itradiobutton6iiR(RR6RRkRtget_active_iterRR0RmRR(R(tretR((s//usr/share/system-config-lvm/InputController.pyRs"&

&
(RRR)RRRR(((s//usr/share/system-config-lvm/InputController.pyR}s
	/			RcBseZedZdZdZdZdZdZdZ	dZ
dZd	Zd
Z
edZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ RS(c
Cs||_|djot|_t|_n!|io
t|_n
t|_||_||_||_||_t	|_
ti}|d|_
x|D]}||i
|i<qW|ioj|io5ti|ii|_|i|i
|ii<n
|i
|_d|_t|_t|_nti|i|_|ii|i
ijo|i
|_n|i
i|i
i|i|i
|ii<|ii|i|_ti|ii|_|idjo6|idjo
d|_n
|i|_t|_n
t|_|idj|_x+|i
D] }|i
|i|iq;Wd}	tii|	pdt |	f}	nt!i"i#t$t!i"i%|	dt$|_&|i&i'd|_(t!i)|_*|i&i'di+|i*|i*i,t!i)|_-|i&i'di.|i-|i-i,t!i/t0d	|_1|i&i'di+|i1|i1i2dS(
NiRjslv_edit_props.glades%s/%sRRtsize_units_containertfilesys_containertOptions(3tsnapshotRRktnewRxRRRR tdicttfilesystemsRRtfs_noneRRRRtmount_pointtmounttmount_at_reboottpopRRRRptmountpoint_at_reboott
set_clusteredRRRRRR@RRRRRR6RRtsize_units_comboRRgt
filesys_combot
pack_starttButtonRtfs_config_buttonRi(
R(RRRR RtfssRtfs_nameR((s//usr/share/system-config-lvm/InputController.pyR)sr	
	


					


		


	


cCst}|ixto|ii}|tijo|iqq|tijoXy"|itjot}PnWqt	j
o#}|i
|it}PqXqPqW|ii|S(N(
Rxt	setup_dlgRkRRR@tRESPONSE_REJECTRRRRqRRi(R(tneed_reloadRR((s//usr/share/system-config-lvm/InputController.pyR<s(

	

c
CsV|ioK|io'|iitd|iiq|iitdnm|iioFtd}|ii||ii|iidifn|iitd|i	i
d|_|io|iidn|ii|ii|io|i	i
di
n|i	i
di|i	i
d	}|i}|i}|i||io|io|i	i
d
i
q|i	i
dit|i	i
d	}|i}|i}|i|t|ii}|djo
d}n|i	i
d
id||i	i
d
itinm|iio|i	i
d
i
nC|i	i
di
|i	i
di
|i	i
di
|i	i
di|iti|_|i	i
di|i|ii|ii|i i!xI|i"D]>}|i i!|jo%|i"|i#o|ii|qDqDW|ii}|i}|ii||i$|io|i	i
ditn<|ip1|iio|i	i
ditqn|i	i
d|_%|io|i%idn|i%i|i&|i	i
di'|i(|i	i
di'|i)|i*d|i	i
d|_,|i	i
d|_-|i	i
di|i.ti|_.|i	i
di/|i.|i.ix*t0t1t2t3gD]}|i.i|q9W|i.i}|i}|}xD|djo6|i4|dt1jo
|}n|i5|}qwW|i.i||ii6|_7d|_8|io
d|_9n|ii:d|_9|ii:d|i9|_;|i<|i9|i=|i>|io&d|_?|i	i
di'tnF|ii@}	|	o
t|_?n
d|_?|i	i
di'|	t|_?tAtjo>|io|i	i
di
q|i	i
d
i
n|iBd|iCiDd|iE|iiDd|iF|i.iDd|iG|i,iDd|iH|i-iDd|iI|i	i
diDd|iJ|i	i
diDd|iB|i	i
diDd|iK|i	i
diDd|i*|i	i
diDd|i*|i	i
diDd|iLdS(NsCreate A Snapshot of %ssCreate New Logical VolumesEdit %s, a Snapshot of %sisEdit Logical Volumetlv_nameRjt
revert_buttontstripe_sizetlv_properties_frametstripes_containeritstripes_numitlineartstripedRRRRt
size_scalet
size_entryRitenable_mirroringR+R4s
adjust-boundssfocus-out-eventtuse_remaining_button(MRRRRRRRtRRRR6t
name_entryRzRiRgR0RRRRxRRRt	set_rangetset_update_policyR@tUPDATE_IF_VALIDRRRRRRRRt	creatabletfilesys_show_hidetmountpoint_entryRRRRton_mount_changedRRRRRtEXTENTSt	GIGABYTESt	MEGABYTESt	KILOBYTESRmt	iter_nexttget_extent_sizetextent_sizet
size_lowertsizeRt
size_uppertset_size_newtupdate_size_limitstchange_size_unitstmirror_to_diff_hdsRtMIRRORING_UI_SUPPORTton_enable_mirroringRR8ton_fs_configton_fs_changeton_units_changeton_size_change_scaleton_size_change_entryton_linear_changedton_striped_changedton_use_remaining(
R(Rtstripe_size_comboRMRtmax_stripestfilesystunittactive_itertalready_mirrored((s//usr/share/system-config-lvm/InputController.pyRTs

':







 

$


!




	




	
		


cCs|iiditjo7|iidit|iiditdS|iidit|iiditdS(NRRR(RR6RRxRRRk(R(R((s//usr/share/system-config-lvm/InputController.pyRscCs|iiditjodS|ii}t|djo+|it|iidi	t
dS|iidit
dS(NRiRR(RR6RRxRRRRqtCANT_STRIPE_MESSAGERRkR(R(RR((s//usr/share/system-config-lvm/InputController.pyRs
cCsk|iiditjo|idS|iitjo;|itd|iidi	t|idS|i
pO|iio;|itd|iidi	t|idSn|i
p`|ii
oL|iio;|itd|iidi	t|idSn|idjo?|itd}|tijo
t|_qt|_n|i|id}|djo|io;|itd|iidi	t|idS|itd|iidi	t|idSn|i|jo|i
oD|i||itd	|iidd
|iiqg|iitjotd}|ii}|iii|d}t |i!|d|}|i|||iidi	t|iidd
|iiqg|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 ("RR6RRxRRtis_mirroring_supportedRqRRRRt
is_stripedRRRRtquestionMessageR@R&Rkt#_LV_edit_props__get_max_mirror_dataRtsize_newRRRuRRRR0RmR{t_LV_edit_props__get_num(R(RRtmax_mirror_sizeRRtunitstreduce_to_string((s//usr/share/system-config-lvm/InputController.pyRsj



	
!
	







cCs!g}x|iiD]}|id}|ip|iio|iidi}n
|ig}xC|iD]1}|i	|jo||i
d}qqWn|djo|i||fqqW|ioh}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|idjodgggfSxtt|dddD]o}xftd|D]U}
||
d||
ddjo.||
d}||
||
d<|||
<q]q]WqGWx|D]}|d}xtt|dddD]o}xftd|D]U}
||
d||
ddjo.||
d}||
||
d<|||
<qqWqWqWg}xE|D]=}|ddd}|ddd}|i||gqrWxtt|dddD]o}xftd|D]U}
||
d||
ddjo.||
d}||
||
d<|||
<qqWqW|dd|ddg|ddg|idgfSt|djodgggfSxtt|dddD]o}xftd|D]U}
||
d||
ddjo.||
d}||
||
d<|||
<qqWqW|id}|ddg|dd}}|ddg|dd}}xa|dD]U}||jo#||d}|i|dq||d}|i|dqWd}||jo
|}n|}||||gfSdS(Niiiii(RRRRRRtget_segmentst
get_imagesRRRRRRR*tkeysRRtrangeR(R(Rt	free_listRRtlvs_to_matchRtdevicestttpv_freetdevice_name_in_listtdevnametitjttmptsort_metlargest_listtt_largest_sizett_largest_pvtlogtbuck1ts1tbuck2ts2t
max_m_size((s//usr/share/system-config-lvm/InputController.pyt__get_max_mirror_data=s

 





#'!
!!<!  


cCsf|iidi}|iidi}|p|o|iitn|iitdS(NRR(RR6RRRRkRx(R(Rtm1tm2((s//usr/share/system-config-lvm/InputController.pyRs
cCsdS(N((R(Rh((s//usr/share/system-config-lvm/InputController.pyRscCs|i|iddS(N(RRR(R(R((s//usr/share/system-config-lvm/InputController.pyRs
cCs|ii}|i|iii|did}|io|iit	n|iit
|io6|ii
dit	|ii
dit	ne|ii
dit
|ii
dit
|ii
dit
|ii
dit
dS(Nisutf-8tmountpoint_containertmount_containerRR(RRRR0RmtdecodeteditableRRRkRxt	mountableRR6R(R(RR((s//usr/share/system-config-lvm/InputController.pyRs+

cCs|ii}|i|iii|did}|ip|ip|ip|i	}|i
p|o|iidi
n|iidi|iio|iidi|iidi
|iit|iit|iidit|iidi
dS|iio(|iidio|iid	i|iidi
|iit|iit|iidit|iidi
|i|idS|iid	i
|iidi|iit|iit|iidit|iidiqnnd
|_|djo!|iid|i|_n
||_|i
}||ij}|o
t}n|o|iidi
|iidi|iit|iit|iidit|iidinZ|ip|ip|i|_n|ip|i	p|i|_n|o|iidi
|iidi|iit|iit|iidit|iidin|iidi|iidi
|iit|iit|iidit|iidi
|i|i|i|ijo|iiditn|iidit|i |i|i!dS(
Nisutf-8tfs_not_resizabletorigin_not_resizabletfree_space_labelRtremaining_space_labelRtmirror_not_resizableiitsize_scale_container("RRRR0RmR/textendable_onlinetextendable_offlinetreducible_onlinetreducible_offlineRRR6RiRgRRRRRxRRRRRRkRRRRRRRR
(R(tupperRRtfs_resizabletas_newt	fs_change((s//usr/share/system-config-lvm/InputController.pyRs+'
	
!		

cCs|idS(N(R(R(R((s//usr/share/system-config-lvm/InputController.pyR!scCs|i|i}|i|i}|iid}|it||iid}|it||i|ijo|ii||n|i	|i
dS(Ntsize_begtsize_end(RRRRR6RzR{RRRR
(R(tlowerR<tsize_beg_labeltsize_end_label((s//usr/share/system-config-lvm/InputController.pyR$scCs|ii}|iii|d}|i|i}|iid}|ii	di
o&d}||i|id|}n||i|i}tt
|i|d|}|ii	di|tt
|i|d|}|ii	di|dS(NiiRiRR4R5(RRR0RmRR
RRRR6RRtREMAINING_SPACE_VGR{RRztREMAINING_SPACE_AFTER(R(RRtremtrem_vgtmirror_log_sizet	string_vgtstring((s//usr/share/system-config-lvm/InputController.pytupdate_remaining_space_label2s !!cCs|i|idS(N(RR(R(R((s//usr/share/system-config-lvm/InputController.pyRAscCs)|ii}|i|i|dS(N(RRmRt_LV_edit_props__get_extents(R(Rtobj2R((s//usr/share/system-config-lvm/InputController.pyRDscCsz|ii}d}yt|}Wn8tj
o,}|iit|i|itSX|i	|i
|tS(Ng(RRotfloatt
ValueErrorRzR{RR
RxRRM(R(RRNt	size_textt
size_floatR((s//usr/share/system-config-lvm/InputController.pyRHs"cCs|}||ijo
|i}n||ijo
|i}n||_|i|}|iit||ii||i	dS(N(
RRR
RRRzR{Rt	set_valueRL(R(RRt
size_units((s//usr/share/system-config-lvm/InputController.pyRRs

	cCs|ii}|iii|d}|tjot|S|tjo#t|ddd|i}nU|tjot|dd|i}n)|t	jot|d|i}n|djo
d}n|S(Niii(
RRR0RmRR}RRRR(R(tnumRR((s//usr/share/system-config-lvm/InputController.pyt
__get_extents]s

#



cCs|ii}|iii|d}|tjot|S|tjo||iddd}nI|tjo||idd}n#|t	jo||id}ndt
|}t
|S(Nig@s%.2f(RRR0RmRR}RRRRRO(R(textentsRRtvalRK((s//usr/share/system-config-lvm/InputController.pyt	__get_numks



c+CsP
|iii}t|i}|ii}|i|iii	|di
d}|ioI|ii
di}|ii
di}|iii}nt}t}d}|ii
di}|ii
di}	|ii
d}
|
i}t|
ii	|d}t|ii
d	i}t}
|djo|ittSd}tid
|ptid|otd}ntid
|ptid|otd}n|ddjotd}n|djp
|djotd}nfxb|D]Z}|titidjoq6q6|tijotd}Pq6td|}Pq6W|djo2|i||iidd|iitSx|iii D]z}|i!|joa|i"p!|i#i!|joqq-n|iidd|ii|it$|tSqW|p|o|djo|itdtSt%i&i'|tjo|i(t)|}|t*i+joOyt%i,|Wq<t-j
o+}|it.||ii/dtSXq@|iiddtSqDn|i"oh}||t0<|ii!|t1<t2|t3<||t4<|	|t5<||t6<|	t7jo||t8<||t9<n|i:|t;<|i:o|i#i<|t=<ng}|oe|i>|i\}}}}|}x|D]}|i?|q%Wx|D]}|i?|qCWn|i@iA|||iBiC||ii!}|i:pCy|iD|WqtEj
o}|i@iF||qXn|o|i@iG|||iHn|otIiJ|||iHqL
n(||i#i!j}||iKj}|iLtMiNiLjo|iKiLtMiOiLj}|o3|i(td}|t*iPjo
t}qnd}|i#iRo|i#iSd}n||iTj} ||iTj}!||iTj}"|i#iUo%|o|i@iV|i#i<n|iG}#t}$t7}%|p|p
|tjo
t7}$n| o|i#iUo
t7}$n|oU|iKiL|iWiLjo<|o4|iXtd}|t*iPjotSt}%nX|pP|!o|#o|iKiYo
t7}$n|"o|#o|iKiZo
t7}$qTn|$oi|#ob|%o>|iXt[|i#i<|i\f}|t*iPjotSn|i@i]|i\t}#n|o,|i@i^|ii!|i#i!|n|iBiC||ii!}|i#i<}&| o|o|p|o>||iTjo|i@i_||q|i@i`||q||iTjo/|i@i_||y|#oN|iKiYo|iKia|q
|i@i]|i\t}#|iKib|n|iKico|iKib|n|d}'x%t%id|'t%ieo|'d}'q$
Wt%i,|'|i@iG||'|iKia||i@i]|'t%if|'Wq|i@i`||iTqXq||ig}(|#oT|iKiZo|iKih||(q|i@i]|i\t}#|iKii||(n|iKijo|iKii||(nd}'x%t%id|'t%ieo|'d}'qSWt%i,|'|i@iG||'|iKih||(|i@i]|'t%if|'|i@i`||n|i#iUo|o|iBik|iBil|i#imi!i||_#|in|i#})|)djo|iotdq|iotdn|
o|o|iKip|n|o,|o|iKiq|q|iD|n|iKiH}*|o
|iH}*n|o"|#o|i@iG|||*ntIir|i\|otIiJ|||*nt7S( Nisutf-8RRRjRRRRRtpvmovesBNames 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?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.(sRRoRpR}R
RRRR0RmR/R1RR6RRRxtget_value_as_intRqtMUST_PROVIDE_NAMEtretmatchRtsearchRKt
ascii_letterstdigitst
whitespaceRuRRRRRtRRtNON_UNIQUE_NAMERRRRt
BAD_MNT_POINTR@R&tmkdirtOSErrortBAD_MNT_CREATIONRztNEW_LV_NAME_ARGtNEW_LV_VGNAME_ARGt
EXTENT_IDXtNEW_LV_UNIT_ARGtNEW_LV_SIZE_ARGtNEW_LV_IS_STRIPED_ARGtNEW_LV_MIRRORINGRktNEW_LV_STRIPE_SIZE_ARGtNEW_LV_NUM_STRIPES_ARGRtNEW_LV_SNAPSHOTRtNEW_LV_SNAPSHOT_ORIGINRRR tnew_lvRtget_logical_volume_pathtcreateRRRtfsnameRtaddRRRtext3text2RRRRRRtremove_mirroringRRR8R:tUNMOUNT_PROMPTRRt	rename_lvt	extend_lvt	reduce_lvt
extend_onlinetextend_offlineR9taccesstF_OKtrmdirRt
reduce_onlinetreduce_offlineR;RRRt$_LV_edit_props__make_room_for_mirrorRtchange_optionstupgradeR(+R(tname_newR
Rtfilesys_newt	mount_newtmount_at_reboot_newtmountpoint_newtmirrored_newRRRRtfs_options_changedtinvalid_lvname_messageRRRRtnew_lv_command_settpvs_to_create_atRtb1tb2tl1Rtlv_pathtrenametfilesys_changetext2_to_ext3RRtresizetextendtreducetmountedRtunmount_prompttlv_path_oldttmp_mountpointtnew_size_bytestpvlist_from_make_roomR{((s//usr/share/system-config-lvm/InputController.pyRys+


&&




	












4	

(

%	
,








.

cCs|i|i\}}}}|}x|D]}|i|q/Wx|D]}|i|qMW|i|}t|djo|Sd}	xt|D]l}
|	d|
di}	|	dt|
ddt|
d|
dd}	|	d|
d	i}	qW|itd
d|	dtd}|t	i
joxxp|D]h}
|
d}|
d}
|
d}|
d	}|ii|i|
|fg|id|igqJW|SdSdS(NiRjs
t:iR]is   -> is<In order to add mirroring, some extents need to be migrated.s)Do you want to migrate specified extents?(RRRt-_LV_edit_props__get_structs_for_ext_migrationRRR{RRR@R&R RR(R(RRtbucket1tbucket2tlogst
return_pvlistRtstructsRKtstructRtpv_fromt	ext_startRtpv_to((s//usr/share/system-config-lvm/InputController.pyt__make_room_for_mirrors<!6+



 c	Cs|i|i\}}}}|i|||i||jo
|}n|}g}x>|iiiD]$}||jo|i|ququWg}	d}
||
}|id}x|D]}
x|
iD]}|i|joqn|i	\}}x|djo||jom|	i|
|||g||}||}|
d}
|
t
|jo|	S||
}|id}q|	i|
|||g||}||}||}qWqWqW|	S(Niii(RRt*_LV_edit_props__get_extent_count_in_bucketRRRRRRRR(R(RRRRRt	bucket_totbucket_fromRRtbucket_to_iRR
Rt	ext_blocktblock_startt
block_size((s//usr/share/system-config-lvm/InputController.pyt__get_structs_for_ext_migrationsH!%











cCs]d}xP|D]H}x?|iD]1}|i|jo||id}q q Wq
W|S(Nii(RRR(R(Rt
bucket_pvst	ext_countRR((s//usr/share/system-config-lvm/InputController.pyt__get_extent_count_in_buckets
 cCsEtiddtiti|}|i|i}|i|S(Ni(R@RRRRRRR(R(RRR((s//usr/share/system-config-lvm/InputController.pyRqs	

cCsEtiddtiti|}|i|i}|i|S(Ni(R@RRRRRRR(R(RRR((s//usr/share/system-config-lvm/InputController.pyR	s	

cCstiddtiti|}|i|i}|i|tijotiS|ti	jotiS|ti
jotiS|tijotiS|SdS(Ni(R@RRRRRRRRRRR(R(RRR((s//usr/share/system-config-lvm/InputController.pyR
	s	

cCstiddtiti|}|i|i}|i|tijotiS|ti	jotiS|ti
jotiS|tijotiS|SdS(Ni(R@RRRRRRRRRRR(R(RRR((s//usr/share/system-config-lvm/InputController.pyR	s	

(!RRRxR)RRRRRRRRRRRRRRRLRRRRRMRRRRRRqRRR(((s//usr/share/system-config-lvm/InputController.pyRs<G				
	C	h				X						
				1	!	)						(it__doc__RKRRbtstattos.pathRBtlocaleRRtlvmui_constantsRRRtSegmentRRRRtexecuteRRR	t	utilitiesR
tgettextRR@t	gtk.gladetRuntimeErrorRtsystexittgnometgnome.uitTYPE_COLR4RSR`RTR6tMEGA_MULTIPLIERtGIGA_MULTIPLIERtKILO_MULTIPLIERtDEFAULT_STRIPE_SIZE_IDXR|RtDEFAULT_EXTENT_SIZERRtNO_FILESYSTEM_FStACCEPTABLE_STRIPE_SIZESRRHRIRJR[R\RcRRhRvRaRrRiRltNOT_IMPLEMENTEDRR;RQRRRRRtTYPE_CONVERSION_ERRORtMOUNTED_WARNINGRtREMAINING_SPACE_VGNAMEtREMAINING_SPACE_MEGABYTEStREMAINING_SPACE_KILOBYTEStREMAINING_SPACE_GIGABYTEStREMAINING_SPACE_EXTENTSRERFRRRRtNUMBERS_ONLYRyR~RzRRRRRRRRRRR}R(((s//usr/share/system-config-lvm/InputController.pyt<module>s
	$
a

Youez - 2016 - github.com/yon3zu
LinuXploit