public long calculateUnavailableDiskCount() {
    long count = 0;
    for (Datacenter datacenter : datacenters) {
      for (DataNode dataNode : datacenter.getDataNodes()) {
        for (Disk disk : dataNode.getDisks()) {
          if (disk.isDown()) {
            count++;
          }
        }
      }
    }
    return count;
  }
An Ambry hardwareLayout consists of a set of {@link Datacenter}s.
ambry-clustermap/src/main/java/com/github/ambry/clustermap/HardwareLayout.java