code: func (s *Store) Fsck(ctx context.Context) error {
  	pcb := ctxutil.GetProgressCallback(ctx)
  
  	entries, err := s.List(ctx, "")
  	if err != nil {
  		return err
  	}
  	dirs := make(map[string]struct{}, len(entries))
  	for _, entry := range entries {
  		pcb()
  		out.Debug(ctx, "file.Fsck() - Checking %s", entry)
  
  		filename := filepath.Join(s.path, entry)
  		dirs[filepath.Dir(filename)] = struct{}{}
  
  		if err := s.fsckCheckFile(ctx, filename); err != nil {
  			return err
  		}
  	}
  
  	for dir := range dirs {
  		if err := s.fsckCheckDir(ctx, dir); err != nil {
  			return err
  		}
  	}
  	return nil
  }
docs: // Fsck checks the storage integrity