diff options
Diffstat (limited to 'src/com.gluster.storage.management.client')
| -rw-r--r-- | src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java index 194859e1..06400b86 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java @@ -27,8 +27,8 @@ import com.gluster.storage.management.core.model.Brick; import com.gluster.storage.management.core.model.Cluster; import com.gluster.storage.management.core.model.ClusterListener; import com.gluster.storage.management.core.model.Disk; -import com.gluster.storage.management.core.model.Event; import com.gluster.storage.management.core.model.Disk.DISK_STATUS; +import com.gluster.storage.management.core.model.Event; import com.gluster.storage.management.core.model.Event.EVENT_TYPE; import com.gluster.storage.management.core.model.GlusterDataModel; import com.gluster.storage.management.core.model.GlusterServer; @@ -386,4 +386,24 @@ public class GlusterDataModelManager { throw new GlusterRuntimeException("Couldn't find entry for option [" + optionKey + "] on volume [" + volume.getName()); } + + private Boolean isDiskUsed(Volume volume, Disk disk) { + for(Brick brick: volume.getBricks()) { + if (disk.getName().equals(brick.getDiskName())) { + return true; + } + } + return false; + } + + public String getDiskStatus(Disk disk) { + if (disk.getStatus() == DISK_STATUS.READY) { + for (Volume volume : model.getCluster().getVolumes()) { + if (isDiskUsed(volume, disk)) { + return "In use"; + } + } + } + return disk.getStatusStr(); + } } |
