code: func (s *fs) Walk(f DigestWalkFunc) error {
  	// Only Canonical digest (sha256) is currently supported
  	s.RLock()
  	dir, err := ioutil.ReadDir(filepath.Join(s.root, contentDirName, string(digest.Canonical)))
  	s.RUnlock()
  	if err != nil {
  		return err
  	}
  	for _, v := range dir {
  		dgst := digest.NewDigestFromHex(string(digest.Canonical), v.Name())
  		if err := dgst.Validate(); err != nil {
  			logrus.Debugf("skipping invalid digest %s: %s", dgst, err)
  			continue
  		}
  		if err := f(dgst); err != nil {
  			return err
  		}
  	}
  	return nil
  }
docs: // Walk calls the supplied callback for each image ID in the storage backend.