@Override public long getSize() { return lun.getDeviceSize(); }
private int getAdditionalAvailableSize(LUNs lun) { int pvSize = lun.getPvSize(); if (pvSize == 0) { return 0; } // The PV size is always smaller by 1 GB from the device due to LVM metadata int additionalAvailableSize = lun.getDeviceSize() - pvSize - 1; if (additionalAvailableSize < 0) { additionalAvailableSize = 0; } return additionalAvailableSize; }
@Override protected Long getRawValue(Disk object) { switch (object.getDiskStorageType()) { case LUN: return (long) (((LunDisk) object).getLun().getDeviceSize() * Math.pow(1024, 3)); default: return object.getSize(); } } };
@Override protected Long getRawValue(EntityModel object) { LunDisk disk = (LunDisk) ((DiskModel) object.getEntity()).getDisk(); return (long) disk.getLun().getDeviceSize(); } };
@Override protected Long getRawValue(Disk object) { return object.getDiskStorageType() == DiskStorageType.IMAGE || object.getDiskStorageType() == DiskStorageType.CINDER || object.getDiskStorageType() == DiskStorageType.MANAGED_BLOCK_STORAGE ? Math.round(((DiskImage) object).getActualDiskWithSnapshotsSize()) : (long) ((LunDisk) object).getLun().getDeviceSize(); } };
@Override protected void datacenter_SelectedItemChanged() { super.datacenter_SelectedItemChanged(); // this needs to be executed after the data center is loaded because the update quota needs both values if (getDisk().getDiskStorageType() == DiskStorageType.IMAGE || getDisk().getDiskStorageType() == DiskStorageType.MANAGED_BLOCK_STORAGE) { Guid storageDomainId = ((DiskImage) getDisk()).getStorageIds().get(0); AsyncDataProvider.getInstance().getStorageDomainById(new AsyncQuery<>(storageDomain -> getStorageDomain().setSelectedItem(storageDomain)), storageDomainId); } else if (getDisk().getDiskStorageType() == DiskStorageType.LUN) { LunDisk lunDisk = (LunDisk) getDisk(); getDiskStorageType().setEntity(DiskStorageType.LUN); getSize().setEntity(lunDisk.getLun().getDeviceSize()); getSizeExtend().setIsAvailable(false); } }
@Override protected MapSqlParameterSource createFullParametersMapper(LUNs lun) { return createIdParameterMapper(lun.getId()) .addValue("physical_volume_id", lun.getPhysicalVolumeId()) .addValue("volume_group_id", lun.getVolumeGroupId()) .addValue("serial", lun.getSerial()) .addValue("lun_mapping", lun.getLunMapping()) .addValue("vendor_id", lun.getVendorId()) .addValue("product_id", lun.getProductId()) .addValue("device_size", lun.getDeviceSize()) .addValue("discard_max_size", lun.getDiscardMaxSize()); } }
model.setSize(SizeConverter.convert((long)entity.getDeviceSize(), SizeConverter.SizeUnit.GiB, SizeConverter.SizeUnit.BYTES).longValue());
lunModel.setMultipathing(a.getPathCount()); lunModel.setTargets(targets); lunModel.setSize(a.getDeviceSize()); lunModel.setAdditionalAvailableSize(getAdditionalAvailableSize(a)); lunModel.setAdditionalAvailableSizeSelected(false);
@Override public String toString() { return ToStringBuilder.forInstance(this) .append("id", getLUNId()) .append("physicalVolumeId", getPhysicalVolumeId()) .append("volumeGroupId", getVolumeGroupId()) .append("serial", getSerial()) .append("lunMapping", getLunMapping()) .append("vendorId", getVendorId()) .append("productId", getProductId()) .append("lunConnections", getLunConnections()) .append("deviceSize", getDeviceSize()) .append("pvSize", getPvSize()) .append("peCount", getPeCount()) .append("peAllocatedCount", getPeAllocatedCount()) .append("vendorName", getVendorName()) .append("pathsDictionary", getPathsDictionary()) .append("pathsCapacity", getPathsCapacity()) .append("lunType", getLunType()) .append("status", getStatus()) .append("diskId", getDiskId()) .append("diskAlias", getDiskAlias()) .append("storageDomainId", getStorageDomainId()) .append("storageDomainName", getStorageDomainName()) .append("discardMaxSize", getDiscardMaxSize()) .build(); }
getDiskStorageType().setEntity(DiskStorageType.LUN); getStorageType().setIsAvailable(false); getSize().setEntity(lunDisk.getLun().getDeviceSize()); getSizeExtend().setIsAvailable(false); getIsUsingScsiReservation().setEntity(getDiskVmElement().isUsingScsiReservation());