code: func (fs *HdfsFileSystem) List(fl *FileLocation) (fileLocations []*FileLocation, err error) {
  	namenode, path, err := splitLocationToParts(fl.Location)
  	if err != nil {
  		return
  	}
  
  	client, err := hdfs.New(namenode)
  	if err != nil {
  		return nil, fmt.Errorf("failed to create client to %s:%v\n", namenode, err)
  	}
  
  	fileInfos, err := client.ReadDir("/" + path)
  	if err != nil {
  		return nil, fmt.Errorf("failed to list files under /%s:%v\n", path, err)
  	}
  
  	for _, fi := range fileInfos {
  		fileLocations = append(fileLocations, &FileLocation{fl.Location + "/" + fi.Name()})
  	}
  
  	return
  }
docs: // List generates a full list of file locations under the given
  // location, which should have a prefix of hdfs://