code: func (s *storage) Walk(ctx context.Context,
  	walker func(packID int, ref blob.Ref, offset int64, size uint32) error) error {
  
  	// TODO(tgulacsi): proper verbose flag from context
  	verbose := env.IsDebug()
  
  	for i := 0; i >= 0; i++ {
  		fh, err := os.Open(s.filename(i))
  		if err != nil {
  			if os.IsNotExist(err) {
  				break
  			}
  			return err
  		}
  		fh.Close()
  		if err = s.walkPack(verbose, i, walker); err != nil {
  			return err
  		}
  	}
  	return nil
  }
docs: // Walk walks the storage and calls the walker callback with each blobref
  // stops if walker returns non-nil error, and returns that