code: func (d *Driver) GetMetadata(id string) (map[string]string, error) {
  	dir := d.dir(id)
  	if _, err := os.Stat(dir); err != nil {
  		return nil, err
  	}
  
  	metadata := map[string]string{
  		"WorkDir":   path.Join(dir, workDirName),
  		"MergedDir": path.Join(dir, mergedDirName),
  		"UpperDir":  path.Join(dir, diffDirName),
  	}
  
  	lowerDirs, err := d.getLowerDirs(id)
  	if err != nil {
  		return nil, err
  	}
  	if len(lowerDirs) > 0 {
  		metadata["LowerDir"] = strings.Join(lowerDirs, ":")
  	}
  
  	return metadata, nil
  }
docs: // GetMetadata returns metadata about the overlay driver such as the LowerDir,
  // UpperDir, WorkDir, and MergeDir used to store data.