code: private static int listDFSPaths()
    {
      Date alpha = new Date();
      int inodeCount = 0;
  
      String basePath = new String(TEST_BASE_DIR) + "/" + hostName_ + "_" + processName_;
      Queue<String> pending = new LinkedList<String>();
      pending.add(basePath);
  
      while (!pending.isEmpty()) {
        String parent = pending.remove();
        try {
        	
  	  		long startTime = System.nanoTime();
          FileStatus[] children = dfsClient_.listPaths(parent);
          timingListPaths_.add(new Double((System.nanoTime() - startTime)/(1E9)));
  
          if (children == null || children.length == 0) {
            continue;
          }
          
          for (int i = 0; i < children.length; i++) {
          	String localName = children[i].getPath().getName();
          	if (localName.equals(".") || localName.equals("..")) {
          		continue;
          	}
          	inodeCount ++;
          	if (inodeCount % COUNT_INCR == 0) {
          		System.out.printf("Readdir paths so far: %d\n", inodeCount);
          	}
          	if (children[i].isDir()) {
          		pending.add(parent + "/" + localName);
          	} else {
          		files_.put(parent + "/" + localName, null);
          	}
          }
        } catch (IOException e) {
          e.printStackTrace();
          return -1;
        }
      }
  
      Date zigma = new Date();
      System.out.printf("Client: Directory walk done over %d inodes in %d msec\n",
      		inodeCount, timeDiffMilliSec(alpha, zigma));
      return 0;
    }
docs: Lists all the directories contents in this hostname/process' namespace.
  @return -1 on error, 0 on success