public boolean isInternal() { return isFileDomain() || isBlockDomain(); }
public VolumeFormat getDiskVolumeFormat(VolumeType volumeType, StorageType storageType) { if (storageType.isFileDomain()) { return VolumeFormat.RAW; } else if (storageType.isBlockDomain()) { switch (volumeType) { case Sparse: return VolumeFormat.COW; case Preallocated: return VolumeFormat.RAW; default: return VolumeFormat.Unassigned; } } else if (storageType.isManagedBlockStorage()) { return volumeType == VolumeType.Preallocated ? VolumeFormat.RAW : VolumeFormat.Unassigned; } else { return VolumeFormat.Unassigned; } }
@Test public void testIsFileDomain() { assertFalse(StorageType.FCP.isFileDomain()); assertFalse(StorageType.ISCSI.isFileDomain()); assertTrue(StorageType.NFS.isFileDomain()); assertTrue(StorageType.LOCALFS.isFileDomain()); assertTrue(StorageType.POSIXFS.isFileDomain()); assertTrue(StorageType.GLUSTERFS.isFileDomain()); assertTrue(StorageType.GLANCE.isFileDomain()); assertFalse(StorageType.CINDER.isFileDomain()); assertFalse(StorageType.MANAGED_BLOCK_STORAGE.isFileDomain()); }
public VolumeType getVolumeType(VolumeFormat volumeFormat, StorageType storageType, VM vm, Image diskImage) { switch (volumeFormat) { case COW: return VolumeType.Sparse; case RAW: default: boolean copyPreallocatedFileBasedDiskSupported = vm != null ? isCopyPreallocatedFileBasedDiskSupported(vm.getCompatibilityVersion()) : false; // if diskImage provided it means that we want to use the source image volume type, // otherwise we set the volume type as sparse by default for file-based storage domain VolumeType fileBasedVolumeType; if (copyPreallocatedFileBasedDiskSupported) { fileBasedVolumeType = diskImage != null ? diskImage.getVolumeType() : VolumeType.Sparse; } else { fileBasedVolumeType = VolumeType.Sparse; } return storageType.isFileDomain() ? fileBasedVolumeType : VolumeType.Preallocated; } }
private boolean isPathEditable(StorageDomain storage) { if (storage.getStorageType().isFileDomain()) { StorageDomainType storageDomainType = storage.getStorageDomainType(); return storageDomainType.isInternalDomain() && isStorageStatusValidForPathEditing(storage); } return false; }
@Override protected void postInitStorageDomains() { super.postInitStorageDomains(); // Add warning for raw/thin disks that reside on a file domain // and selected to be cold moved to a block domain (as it will cause // the disks to become preallocated, and it may consume considerably // more space on the target domain). for (final DiskModel diskModel : getDisks()) { ListModel<StorageDomain> sourceStorageDomains = diskModel.getSourceStorageDomain(); if (sourceStorageDomains.getItems().iterator().hasNext() && !sourceStorageDomains.getItems().iterator().next().getStorageType().isFileDomain()) { continue; } DiskImage diskImage = (DiskImage) diskModel.getDisk(); if (diskImage.getVolumeType() != VolumeType.Sparse || diskImage.getVolumeFormat() != VolumeFormat.RAW) { continue; } diskModel.getStorageDomain().getSelectedItemChangedEvent().addListener((ev, sender, args) -> updateProblematicDisk(diskModel)); updateProblematicDisk(diskModel); } }
Response response = null; boolean isConnNew = false; if (connection.getStorageType().isFileDomain() && StringUtils.isEmpty(connection.getId())) { isConnNew = true; connection.setId(addStorageServerConnection(connection, hostId));
model.setTarget(entity.getIqn()); if (entity.getStorageType().isFileDomain()) { setPath(entity, model);
private void updatePassDiscardChangeabilityForDiskImage() { if (getStorageDomain().getSelectedItem() == null) { return; } if (getStorageDomain().getSelectedItem().getStorageType().isFileDomain()) { getPassDiscard().setIsChangeable(true); } else if (getStorageDomain().getSelectedItem().getStorageType().isBlockDomain()) { if (!getStorageDomain().getSelectedItem().getSupportsDiscard()) { getPassDiscard().setIsChangeable(false, constants.discardIsNotSupportedByUnderlyingStorage()); getPassDiscard().setEntity(false); } else { getPassDiscard().setIsChangeable(!getIsWipeAfterDelete().getEntity(), constants.theUnderlyingStorageDoesNotSupportDiscardWhenWipeAfterDeleteIsEnabled()); if (!getPassDiscard().getIsChangable()) { getPassDiscard().setEntity(false); } } } }
validateParameters(storageDomain, "storage.type"); cnx = mapToCnx(storageDomain); if (cnx.getStorageType().isFileDomain()) { validateParameters(storageConnectionFromUser, "path");