a B:f@s6ddlZddlmZddlmZmZmZmZmZmZm Z m Z m Z m Z m Z mZmZmZzddlmZWneyddlmZYn0dZddZdd Zd d Zd d ZejdejdejdejdejdejdiZ ddZ!ej"dej#diZ$ddZ%ejdejdejdejdejdej&dej'dej(dej)dej*di Z+dd Z,ej-d!ej.d"ej/d#ej0d$ej1d%ej2d&ej3d'iZ4ej5d(ej6d)iZ7d*d+Z8d,d-Z9e j:d.e j;d/e jd2d3Z?e j@d4e jAd5iZBd6d7ZCe jDd8e jEd9e jFd:e jGd;e jHd1iZIde jNd?e jOd@e jPdAe jQdBe jRdCe jSdDe jTdEe jUdFe jVdGe jWdHi ZXdIdJZYe jde jde jde jde jde jZdKe j[dLe j\dMe j&de j)de j]dNe j^dOe j_dPe j`dQiZadRdSZbe jcde jdde jedTe jfdUe jgdViZhdWdXZidYdZZjejLdejPdAejkd[ejldUiZmd\d]Znd^d_Zod`daZpdbdcZqejKdejLdejrddejsdeiZtdfdgZuejdejdejdejvdhejwdiejxdjejdejdiZydkdlZze j{de j|dme j}dne j~doe jdpe jdqe jdriZdsdtZdudvZGdwdxdxeZGdydzdzeZGd{d|d|eZGd}d~d~eZGdddeZGdddeZGdddeZGdddeZdS)N)datetime)size_bytes_2_size_humanLsmError ErrorNumberBatterySystemPoolDiskVolume AccessGroup FileSystem FsSnapshot NfsExport TargetPort LocalDisk) OrderedDict,cCsLz*tjt|tjdtjWntyFtdYn0dS)N )sysstdoutwritestrflushIOErrorexit)msgr=/usr/lib64/python3.9/site-packages/lsm/lsmcli/data_display.pyouts   rcCs^g}t|}t|D]}||@r|||q|dkrTt|dkrTdt|St|S)Nrz Unknown(%s))intlistkeysappendlenhexBIT_MAP_STRING_SPLITTERjoin)Zbit_map conv_dictrcZcur_enumrrr_bit_map_to_str&s r*cCs(t|}|t|vr ||Sd|S)Nz Unknown(%d))r r!r")Zint_typer(rrr_enum_type_to_str2sr+csBfddt|D}t|dkr.|dSttjddS)Ncs$g|]\}}|kr|qSr)lower).0kvtype_strrr ;sz _str_to_enum..rz Failed to convert %s to lsm type)r!itemsr$rrZINVALID_ARGUMENT)r1r(r"rr0r _str_to_enum:s   r4UnknownZOKErrorZDegradedzPredictive failureZOthercCs t|tSN)r*_SYSTEM_STATUS_CONV)Z system_statusrrrsystem_status_to_strNsr9zHW RAIDZHBAcCs t|dS)N)_SYSTEM_MODE_CONVget)Z system_moderrrsystem_mode_to_strXsr=ZStoppedZReconstructingZ VerifyingZ InitializingZGrowingcCs t|tSr7)r*_POOL_STATUS_CONV)Z pool_statusrrrpool_status_to_strjsr?ZPOOLZVOLUMEZ VOLUME_THINZ VOLUME_FULLZFSZSYSTEM_RESERVEDZDELTAz Volume Growz Volume ShrinkcCs t|tSr7)r*_POOL_ELEMENT_TYPE_CONV) element_typerrrpool_element_type_to_str~srBcCs t|tSr7)r*_POOL_UNSUPPORTED_ACTION_CONV)unsupported_actionsrrrpool_unsupported_actions_to_strsrEZDEFAULTZFULLZTHINUNKNOWNcCs t|tSr7)r4_VOL_PROVISION_CONV)Zvol_provision_strrrrvol_provision_str_to_typesrHZYesZNocCs t|tSr7)r+_VOL_ADMIN_STATE_CONV)Zvol_admin_staterrrvol_admin_state_to_strsrJZCLONEZCOPYZ MIRROR_SYNCZ MIRROR_ASYNCcCs t|tSr7)r4_VOL_REP_TYPE_CONV)Zvol_rep_type_strrrrvol_rep_type_str_to_typesrLZATAZSATASASFCzSCSI Over PCI-E(SSD)ZSCSIZNL_SASZHDDZSSDZHybridz Remote LUNcCs t|tSr7)r+_DISK_TYPE_CONV) disk_typerrrdisk_type_to_strsrQZRemovedZStartingZStoppingZ MaintenanceZSpareZ ReconstructZFreecCs t|tSr7)r*_DISK_STATUS_CONV)Z disk_statusrrrdisk_status_to_strsrSZWWPNiSCSIziSCSI/WWPN MixedcCs t|tSr7)r+_AG_INIT_TYPE_CONV) init_typerrrag_init_type_to_strsrWcCs t|tSr7)r4rU)Z init_type_strrrrag_init_type_str_to_lsmsrXZFCoEcCs t|tSr7)r+_TGT_PORT_TYPE_CONV) port_typerrrtgt_port_type_to_strsr[cCsL|dkr dS|tjkrdS|tjkr(dS|tjkr6dS|tjkrDdSt|S)Nr: No Supportr5zNon-Rotating MediumzRotating Medium Unknown Speed)r ZRPM_NO_SUPPORTZ RPM_UNKNOWNZRPM_NON_ROTATING_MEDIUMZRPM_ROTATING_UNKNOWN_SPEEDr)rpmrrrdisk_rpm_to_strs    r^cCs|dkr dSt|tjS)Nr:r\)r+ LocalDiskInfo_LINK_TYPE_MAP) link_typerrrdisk_link_type_to_strsrbcCsH|dkr dS|tjkrdS|tjkr(dS|tjkr6dS|tjkrDdSdS)Nr:r\r5ZFailureWarningZGood)r ZHEALTH_STATUS_UNKNOWNZHEALTH_STATUS_FAILZHEALTH_STATUS_WARNZHEALTH_STATUS_GOOD) health_statusrrrdisk_health_status_to_strs    reZChemicalZ CapacitorcCs t|tSr7)r+_BATTERY_TYPE_CONV)Z battery_typerrrbattery_type_to_strsrgZ DischargingZChargingZLearningcCs t|tSr7)r*_BATTERY_STATUS_CONV)Zbattery_statusrrrbattery_status_to_str*sriZIDENT_ONZ IDENT_OFFZ IDENT_UNKNOWNZFAULT_ONZ FAULT_OFFZ FAULT_UNKNOWNcCs t|tSr7)r*_DISK_LED_STATUS_CONV) led_statusrrrdisk_led_status_to_str9srlcCs|tjkrdSdt|dS)Nr5z %.1f Gbpsg@@)r ZLINK_SPEED_UNKNOWNfloat) link_speedrrrdisk_link_speed_to_str=s roc@seZdZddZdS)PlugDatacCs||_||_dSr7)descversion)self descriptionZplugin_versionrrr__init__EszPlugData.__init__N__name__ __module__ __qualname__rurrrrrpCsrpc"@seZdZejdejdejdejdejdej dej dej dej d ej d ejd ejd ejd ejdejdejdejdiZgdZddZeddZeddZdS)VolumeRAIDInfoRAID0RAID1ZRAID3ZRAID4RAID5RAID6RAID10ZRAID15ZRAID16RAID50RAID60ZRAID51ZRAID61ZJBODZMIXEDZOTHERrF)r{r|r}r~rrrcCs(||_||_||_||_||_||_dSr7)vol_id raid_type strip_size disk_count min_io_size opt_io_size)rsrrrrrrrrrrucs zVolumeRAIDInfo.__init__cCs t|tjSr7)r+rz_RAID_TYPE_MAP)rrrrraid_type_to_strlszVolumeRAIDInfo.raid_type_to_strcCs t|tjSr7)r4rzr)Z raid_type_strrrrraid_type_str_to_lsmpsz#VolumeRAIDInfo.raid_type_str_to_lsmN)rwrxryr ZRAID_TYPE_RAID0ZRAID_TYPE_RAID1ZRAID_TYPE_RAID3ZRAID_TYPE_RAID4ZRAID_TYPE_RAID5ZRAID_TYPE_RAID6ZRAID_TYPE_RAID10ZRAID_TYPE_RAID15ZRAID_TYPE_RAID16ZRAID_TYPE_RAID50ZRAID_TYPE_RAID60ZRAID_TYPE_RAID51ZRAID_TYPE_RAID61ZRAID_TYPE_JBODZRAID_TYPE_MIXEDZRAID_TYPE_OTHERZRAID_TYPE_UNKNOWNrZVOL_CREATE_RAID_TYPES_STRru staticmethodrrrrrrrzJs0  rzc@s<eZdZejdejdejdejdiZddZ e ddZ dS) PoolRAIDInfor5rr cCs||_||_||_||_dSr7)pool_idr member_type member_ids)rsrrrrrrrru}szPoolRAIDInfo.__init__cCs t|tjSr7)r+r_MEMBER_TYPE_MAP)rrrrmember_type_to_strszPoolRAIDInfo.member_type_to_strN) rwrxryrZMEMBER_TYPE_UNKNOWNZMEMBER_TYPE_OTHERZMEMBER_TYPE_POOLZMEMBER_TYPE_DISKrrurrrrrrrusrc@seZdZddZdS)VcrCapcCs||_||_||_dSr7) system_id raid_types strip_sizes)rsrrrrrrruszVcrCap.__init__Nrvrrrrrsrc@sfeZdZejdejdejdejdejdej dej dej dej d ej d ejd ejd ejd i ZddZdS)r_r\r5rNZSSAZSBPZSRPrTrMZADTz PATA/SATAZUSBzSCSI over PCIEzPCI-Ec Cs4||_||_||_||_||_||_||_||_dSr7)sd_pathvpd83r]ra serial_numrkrnrd) rsrrr]rarrkrnrdrrrruszLocalDiskInfo.__init__N)rwrxryr ZLINK_TYPE_NO_SUPPORTZLINK_TYPE_UNKNOWNZ LINK_TYPE_FCZ LINK_TYPE_SSAZ LINK_TYPE_SBPZ LINK_TYPE_SRPZLINK_TYPE_ISCSIZ LINK_TYPE_SASZ LINK_TYPE_ADTZ LINK_TYPE_ATAZ LINK_TYPE_USBZ LINK_TYPE_SOPZLINK_TYPE_PCIEr`rurrrrr_sr_c@seZdZddZdS)LocalLedSlotInfocCs||_||_||_dSr7)idstatedevice)rsrrrrrrruszLocalLedSlotInfo.__init__Nrvrrrrrsrc@seZdZejdejdejdejdiZej dej dej dej diZ ejdejdejdiZejdejdejdiZejdejdejdiZdd Zed d Zed d ZeddZeddZeddZ dS)VolumeRAMCacheInfozUse Disk SettingZEnabledDisabledr5z Write BackZAutoz Write ThroughcCs(||_||_||_||_||_||_dSr7)rwrite_cache_policywrite_cache_statusread_cache_policyread_cache_statusphy_disk_cache)rsrrrrrrrrrrus zVolumeRAMCacheInfo.__init__cCs t|tjSr7)r+r_PHY_DISK_CACHE_STATUS_MAP)rrrrphy_disk_cache_status_to_strsz/VolumeRAMCacheInfo.phy_disk_cache_status_to_strcCs t|tjSr7)r+r_W_CACHE_POLICY_MAP)Z w_cache_prrrw_cache_policy_to_strsz(VolumeRAMCacheInfo.w_cache_policy_to_strcCs t|tjSr7)r+r_W_CACHE_STATUS_MAP)Zw_cache_statusrrrw_cache_status_to_strsz(VolumeRAMCacheInfo.w_cache_status_to_strcCs t|tjSr7)r+r_R_CACHE_POLICY_MAP)Z r_cache_prrrr_cache_policy_to_strsz(VolumeRAMCacheInfo.r_cache_policy_to_strcCs t|tjSr7)r+r_R_CACHE_STATUS_MAP)Zr_cache_statusrrrr_cache_status_to_strsz(VolumeRAMCacheInfo.r_cache_status_to_strN)!rwrxryr Z$PHYSICAL_DISK_CACHE_USE_DISK_SETTINGZPHYSICAL_DISK_CACHE_ENABLEDZPHYSICAL_DISK_CACHE_DISABLEDZPHYSICAL_DISK_CACHE_UNKNOWNrZWRITE_CACHE_POLICY_UNKNOWNZWRITE_CACHE_POLICY_WRITE_BACKZWRITE_CACHE_POLICY_AUTOZ WRITE_CACHE_POLICY_WRITE_THROUGHrZWRITE_CACHE_STATUS_UNKNOWNZWRITE_CACHE_STATUS_WRITE_BACKZ WRITE_CACHE_STATUS_WRITE_THROUGHrZREAD_CACHE_POLICY_UNKNOWNZREAD_CACHE_POLICY_ENABLEDZREAD_CACHE_POLICY_DISABLEDrZREAD_CACHE_STATUS_UNKNOWNZREAD_CACHE_STATUS_ENABLEDZREAD_CACHE_STATUS_DISABLEDrrurrrrrrrrrrrsB     rc@seZdZddZdZdZeZdZiZe Z de d<de d <d e d <d e d <de d<de d<de d<gZ e e dZgZe e eedee<e Zded<ded<gZiZgZeeeedee<e Zded<ded <ded<ded<ded<d ed!<d ed <d ed <d"ed#<dgZeeed$Zdd!gZeeeedee<e Zded<ded <d%ed&<d'ed(<d)ed*<d+ed,<d-ed.<d/ed0<d"ed#<d1ed2<d(d*gZd.e iZ!d,d(gZ"eee!e"dee#<e Z$de$d<de$d <d3e$d4<d'e$d(<d)e$d*<d+e$d,<d e$d <d"e$d#<d%e$d&<d1e$d2<d5e$d6<d7e$d8<d9e$d:<gd;Z%e&e'e(e)d<Z*d,d(gZ+e$e%e*e+dee,<e Z-de-d<de-d <d=e-d><d3e-d?<d"e-d#<d?gZ.d?e/iZ0gZ1e-e.e0e1dee2<e Z3de3d<de3d <de3d<d e3d!<d/e3d0<d"e3d#<gZ4iZ5dd!gZ6e3e4e5e6dee7<e Z8de8d<de8d <d@e8dA<gZ9dAe:j;iZ<e Z?de?d<dBe?dC<dDe?dE<dFe?dG<dHe?dI<dJe?dK<dLe?dM<dNe?dO<dPe?dQ<dRe?dS<gdTZ@iZAgZBe?e@eAeBdeeC<e ZDdeDd<d3eDdU<dVeDdW<dXeDdY<dZeDd[<d\eDd]<d"eDd#<d]dWgZEdUeFiZGgZHeDeEeGeHdeeI<e ZJd^eJd_<d`eJda<dbeJdc<ddeJde<dfeJdg<dheJdi<gZKdaeLjMiZNgdjZOeJeKeNeOdeeL<e ZPd/ePd0<d`ePda<dkePdl<dmePdn<gZQeLjMeRjSdoZTgZUePeQeTeUdeeR<e ZVd"eVd#<dpeVdq<dreVds<gZWdqdtduiZXdsgZYeVeWeXeYdeeZ<e Z[dve[dw<d%e[d&<d5e[d6<d7e[d8<dxe[dy<dze[d{<d|e[d}<d~e[d<gdZ\e(e)e]e^e_dZ`gZae[e\e`eadeeb<e Zcdecd<decd<decd<gZdde]iZegZfecedeeefdeeg<e Zhdehd<dehd <d3ehd<d ehd <d"ehd#<gZiejekdZldgZmeheielemdeen<e Zod^eod_<deod<deod<deod<deod<deod<gZpeqjreqjseqjteqjueqjvdZwgZxeoepewexdeeq<eyddZzeyddZ{eydddZ|eydddZ}eyddZ~eyddZdS) DisplayDatacCsdSr7r)rsrrrruszDisplayData.__init__rrz | ZIDrNamenameZStatusstatusZInfoZ status_infozFW VerZ fw_versionZModemodezRead Cache PercentageZread_cache_pct)rr)headerscolumn_skip_keysvalue_conv_enumvalue_conv_humanZ DescriptionrqZVersionrrz Element TyperAzDoes not supportrDz Total SpaceZ total_spacez Free SpaceZ free_spacez System IDr)rrArDz SCSI VPD 0x83rz Block Size block_sizez Block Count num_of_blocksZSizeZ size_bytesrZ admin_statezPool IDrz Disk PathsZsd_pathsTyperPzRevolutions Per Minuter]z Link TyperaZLocationlocation)rrr)rrPr]raz Initiator IDsZinit_idsrVz Time Stamptsz FileSystem IDZfs_idz Export PathZ export_pathz Auth Typeauthz Root HostsrootzRW HostsrwzRO Hostsroz Anonymous UIDanonuidz Anonymous GIDanongidZOptionsoptions)rrrrZz Physical NameZ physical_nameZAddressZservice_addresszNetwork AddressZnetwork_addresszPhysical AddressZphysical_addressz Volume IDrz RAID Typerz Strip Sizerz Disk CountrzMinimum I/O SizerzOptimal I/O Sizer)rrrz Member Typerz Member IDsr)rrzSupported RAID TypesrzSupported Strip SizesrcCsdd|DS)NcSsg|]}t|qSr)rzr)r-xrrrr26z(DisplayData...r)irrr6rzDisplayData.Pathrz Serial Numberrz LED Statusrkz Link Speedrnz Health Statusrd)r]rkrn)r]rarkrnrdzSlot IDz LED staterz Device Nodertype)rrr:zWrite Cache Policyrz Write CacherzRead Cache Policyrz Read CacherzPhysical Disk Cacher)rrrrrc Cszt||}Wn:tyH}z"|jtjkr0d}n|WYd}~n d}~00|sj|t|vrj|||}|r||vrt|turtdd|D}nt|}|S)Nr:css|]}t|VqdSr7)r)r-srrr rz1DisplayData._get_man_pro_value..) getattrrcoderZ NO_SUPPORTr!r"rr)objkeyrr flag_human flag_enumvalueZlsm_errrrr_get_man_pro_values   zDisplayData._get_man_pro_valuecCs@d}tdt|D](}||}t|||krt||}q|S)Nrr)ranger$) two_d_list column_index max_width row_indexZrow_datarrr_find_max_widths zDisplayData._find_max_widthNFc Cst}tjt|}|d}|d} |d} |r6tj}g} |tjkrnt|D]} | |dvrP| | qPn|tjkrt|} |r|D]} | | vr| | q| D](}||}t ||| | ||}|||<q|S)Nrrrr) rr VALUE_CONVERTrDISPLAY_WAY_SCRIPTDISPLAY_WAY_COLUMNr!r"r#r)rrr display_wayextra_propertiesflag_dsp_all_data data_dictZ value_convertrrrZ display_keyskey_nameZextra_key_namerZkey_strrrrr_data_dict_gens4       zDisplayData._data_dict_genTc Cst|dkrdS|durtj}|dur,tj}g}t|dttjvrv|D]$} t| |||||} | | gqNndS|tj krt ||n|tj krt |||dS)NrT)r$rDISPLAY_WAY_DEFAULTDEFAULT_SPLITTERrr!rr"rextendrdisplay_data_script_wayr_display_data_column_way) Zobjsrrrrsplitterflag_with_headerrdata_dict_listrrrrr display_datas.   zDisplayData.display_datacCsPd}d}|D]t}t|D]b}t|}||kr4|}||}t|trft|dkrTqtt|d}n tt|}||kr|}qq d|||f} dd|||f} dd|dt|d|f} |D]~}t| |D]l}||} t| tr,d} | D]4}| rt| |t|fd } qt| t|qqt| |t| fqqt| dS) Nrrz%%-%ds%s%%-%dsz %s%s%%-%ds z%s%s%s-TF)r!r"r$ isinstancerr)rrZkey_column_widthZvalue_column_widthrrZ cur_key_widthZ cur_valueZcur_value_width row_formatZsub_row_formatZ obj_splitterrZflag_first_dataZ sub_valuerrrrsJ     z#DisplayData.display_data_script_waycCs^t|dkrdSg}tt|d}d}|D]V}d}t|D],}t||trDt||} | |krp| }qDqD|dkr~d}||7}q0|r|d7}td|D],} g} td|D]} | dq|| qd} |rt|d|d<d} |D]}| d7} | }t|}tdt|D]}||}t|trtdt|D]"}||}t|||||<q@|t|| kr|t|d} nt||||<qqg}d}tdt|dD]T}t ||}| d|g|d|7}|t|ddkr|dt|7}q| |}tdt|D]2}t |t |||dkr&|r&t |q&dS)Nrrr:z%%-%dsr)r$r!r"rrr#valuesrrrrr'rtuple)rrrrZ item_countZ row_widthrZ cur_max_wdrZ cur_row_widthrawnewcolumnZcurrent_row_numZ save_row_numrindexrZ sub_indexZ tmp_row_numZ row_formatsZheader_splitterrrrrrrrr4sj          z$DisplayData._display_data_column_way)NF)NTFNNTF)rwrxryrurrrrrrZ SYSTEM_HEADERZSYSTEM_COLUMN_SKIP_KEYSr9r=ZSYSTEM_VALUE_CONV_ENUMZSYSTEM_VALUE_CONV_HUMANrZPLUG_DATA_HEADERZPLUG_DATA_COLUMN_SKIP_KEYSZPLUG_DATA_VALUE_CONV_ENUMZPLUG_DATA_VALUE_CONV_HUMANrpZ POOL_HEADERZPOOL_COLUMN_SKIP_KEYSr?rBrEZPOOL_VALUE_CONV_ENUMZPOOL_VALUE_CONV_HUMANrZ VOL_HEADERZVOL_COLUMN_SKIP_KEYSrJZVOL_VALUE_CONV_ENUMZVOL_VALUE_CONV_HUMANr Z DISK_HEADERZDISK_COLUMN_SKIP_KEYSrSrQr^rbZDISK_VALUE_CONV_ENUMZDISK_VALUE_CONV_HUMANr Z AG_HEADERZAG_COLUMN_SKIP_KEYSrWZAG_VALUE_CONV_ENUMZAG_VALUE_CONV_HUMANr Z FS_HEADERZFS_COLUMN_SKIP_KEYSZFS_VALUE_CONV_ENUMZFS_VALUE_CONV_HUMANr ZFS_SNAP_HEADERZFS_SNAP_COLUMN_SKIP_KEYSrZ fromtimestampZFS_SNAP_VALUE_CONV_ENUMZFS_SNAP_VALUE_CONV_HUMANr ZNFS_EXPORT_HEADERZNFS_EXPORT_COLUMN_SKIP_KEYSZNFS_EXPORT_VALUE_CONV_ENUMZNFS_EXPORT_VALUE_CONV_HUMANrZTGT_PORT_HEADERZTGT_PORT_COLUMN_SKIP_KEYSr[ZTGT_PORT_VALUE_CONV_ENUMZTGT_PORT_VALUE_CONV_HUMANrZVOL_RAID_INFO_HEADERZVOL_RAID_INFO_COLUMN_SKIP_KEYSrzrZVOL_RAID_INFO_VALUE_CONV_ENUMZVOL_RAID_INFO_VALUE_CONV_HUMANZPOOL_RAID_INFO_HEADERZPOOL_RAID_INFO_COLUMN_SKIP_KEYSrrZPOOL_RAID_INFO_VALUE_CONV_ENUMZPOOL_RAID_INFO_VALUE_CONV_HUMANZVCR_CAP_HEADERZVCR_CAP_COLUMN_SKIP_KEYSZVCR_CAP_VALUE_CONV_ENUMZVCR_CAP_VALUE_CONV_HUMANrZLOCAL_DISK_HEADERZLOCAL_DISK_COLUMN_SKIP_KEYSrlroreZLOCAL_DISK_VALUE_CONV_ENUMZLOCAL_DISK_VALUE_CONV_HUMANr_ZLOCAL_LED_SLOT_HEADERZLOCAL_LED_SLOT_SKIP_KEYSZLOCAL_LED_SLOT_CONV_ENUMZLOCAL_LED_SLOT_CONV_HUMANrZBATTERY_HEADERZBATTERY_COLUMN_SKIP_KEYSrgriZBATTERY_VALUE_CONV_ENUMZBATTERY_VALUE_CONV_HUMANrZVOL_CACHE_INFO_HEADERZVOL_CACHE_INFO_COLUMN_SKIP_KEYSrrrrrrZVOL_CACHE_INFO_VALUE_CONV_ENUMZVOL_CACHE_INFO_VALUE_CONV_HUMANrrrrrrrrrrrrsv                     & " ,r)rrZlsmrrrrrrr r r r r rrr collectionsr ImportErrorZ ordereddictr&rr*r+r4ZSTATUS_UNKNOWNZ STATUS_OKZ STATUS_ERRORZSTATUS_DEGRADEDZSTATUS_PREDICTIVE_FAILUREZ STATUS_OTHERr8r9ZMODE_HARDWARE_RAIDZMODE_HBAr;r=ZSTATUS_STOPPEDZSTATUS_RECONSTRUCTINGZSTATUS_VERIFYINGZSTATUS_INITIALIZINGZSTATUS_GROWINGr>r?ZELEMENT_TYPE_POOLZELEMENT_TYPE_VOLUMEZELEMENT_TYPE_VOLUME_THINZELEMENT_TYPE_VOLUME_FULLZELEMENT_TYPE_FSZELEMENT_TYPE_SYS_RESERVEDZELEMENT_TYPE_DELTAr@ZUNSUPPORTED_VOLUME_GROWZUNSUPPORTED_VOLUME_SHRINKrCrBrEZPROVISION_DEFAULTZPROVISION_FULLZPROVISION_THINZPROVISION_UNKNOWNrGrHZADMIN_STATE_DISABLEDZADMIN_STATE_ENABLEDrIrJZREPLICATE_CLONEZREPLICATE_COPYZREPLICATE_MIRROR_SYNCZREPLICATE_MIRROR_ASYNCZREPLICATE_UNKNOWNrKrLZ TYPE_UNKNOWNZ TYPE_OTHERZTYPE_ATAZ TYPE_SATAZTYPE_SASZTYPE_FCZTYPE_SOPZ TYPE_SCSIZ TYPE_NL_SASZTYPE_HDDZTYPE_SSDZ TYPE_HYBRIDZTYPE_LUNrOrQZSTATUS_REMOVEDZSTATUS_STARTINGZSTATUS_STOPPINGZSTATUS_MAINTENANCE_MODEZSTATUS_SPARE_DISKZSTATUS_RECONSTRUCTZ STATUS_FREErRrSZINIT_TYPE_UNKNOWNZINIT_TYPE_OTHERZINIT_TYPE_WWPNZINIT_TYPE_ISCSI_IQNZINIT_TYPE_ISCSI_WWPN_MIXEDrUrWrXZ TYPE_FCOEZ TYPE_ISCSIrYr[r^rbreZ TYPE_CHEMICALZTYPE_CAPACITORrfrgZSTATUS_DISCHARGINGZSTATUS_CHARGINGZSTATUS_LEARNINGrhriZLED_STATUS_UNKNOWNZLED_STATUS_IDENT_ONZLED_STATUS_IDENT_OFFZLED_STATUS_IDENT_UNKNOWNZLED_STATUS_FAULT_ONZLED_STATUS_FAULT_OFFZLED_STATUS_FAULT_UNKNOWNrjrlroobjectrprzrrr_rrrrrrrs& @          +E