code: long getDiskSpace(boolean free) throws IOException {
      long biggestSeenSoFar = 0;
      String[] localDirs = getLocalDirsFromConf(fConf);
      for (int i = 0; i < localDirs.length; i++) {
        DF df = null;
        if (localDirsDf.containsKey(localDirs[i])) {
          df = localDirsDf.get(localDirs[i]);
        } else {
          df = new DF(new File(localDirs[i]), fConf);
          localDirsDf.put(localDirs[i], df);
        }
        long onThisVol = free ? df.getAvailable() : df.getCapacity();
        if (onThisVol > biggestSeenSoFar) {
          biggestSeenSoFar = onThisVol;
        }
      }
  
      //Should ultimately hold back the space we expect running tasks to use but
      //that estimate isn't currently being passed down to the TaskTrackers
      return biggestSeenSoFar;
    }
docs: Obtain the maximum disk space (free or total) in bytes for each volume
  @param free If true returns free space, else returns capacity
  @return disk space in bytes
  @throws IOException