code: func (base *Base) Walk(ctx context.Context, path string, f storagedriver.WalkFn) error {
  	ctx, done := dcontext.WithTrace(ctx)
  	defer done("%s.Walk(%q)", base.Name(), path)
  
  	if !storagedriver.PathRegexp.MatchString(path) && path != "/" {
  		return storagedriver.InvalidPathError{Path: path, DriverName: base.StorageDriver.Name()}
  	}
  
  	return base.setDriverName(base.StorageDriver.Walk(ctx, path, f))
  }
docs: // Walk wraps Walk of underlying storage driver.