code: func (d *driver) Delete(ctx context.Context, path string) error {
  	d.mutex.Lock()
  	defer d.mutex.Unlock()
  
  	normalized := normalize(path)
  
  	err := d.root.delete(normalized)
  	switch err {
  	case errNotExists:
  		return storagedriver.PathNotFoundError{Path: path}
  	default:
  		return err
  	}
  }
docs: // Delete recursively deletes all objects stored at "path" and its subpaths.