code: func (c *sioClient) getSioDiskPaths() ([]os.FileInfo, error) {
  	files, err := ioutil.ReadDir(sioDiskIDPath)
  	if err != nil {
  		if os.IsNotExist(err) {
  			// sioDiskIDPath may not exist yet which is fine
  			return []os.FileInfo{}, nil
  		}
  		klog.Error(log("failed to ReadDir %s: %v", sioDiskIDPath, err))
  		return nil, err
  
  	}
  	result := []os.FileInfo{}
  	for _, file := range files {
  		if c.diskRegex.MatchString(file.Name()) {
  			result = append(result, file)
  		}
  	}
  
  	return result, nil
  
  }
docs: // getSioDiskPaths traverse local disk devices to retrieve device path
  // The path is extracted from /dev/disk/by-id; each sio device path has format:
  // emc-vol-<mdmID-volID> e.g.:
  // emc-vol-788d9efb0a8f20cb-a2b8419300000000