code: func (s *Store) Fsck(ctx context.Context, path string) error {
  	ctx = out.AddPrefix(ctx, "["+s.alias+"] ")
  	out.Debug(ctx, "Fsck(%s)", path)
  
  	// first let the storage backend check itself
  	if err := s.storage.Fsck(ctx); err != nil {
  		return errors.Wrapf(err, "storage backend found errors: %s", err)
  	}
  
  	pcb := ctxutil.GetProgressCallback(ctx)
  
  	// then we'll make sure all the secrets are readable by us and every
  	// valid recipient
  	names, err := s.List(ctx, path)
  	if err != nil {
  		return errors.Wrapf(err, "failed to list entries: %s", err)
  	}
  	sort.Strings(names)
  	for _, name := range names {
  		pcb()
  		if strings.HasPrefix(name, s.alias+"/") {
  			name = strings.TrimPrefix(name, s.alias+"/")
  		}
  		out.Debug(ctx, "sub.Fsck(%s) - Checking %s", path, name)
  		if err := s.fsckCheckEntry(ctx, name); err != nil {
  			return errors.Wrapf(err, "failed to check %s: %s", name, err)
  		}
  	}
  
  	return nil
  }
docs: // Fsck checks all entries matching the given prefix