code: func (d *Dataset) Rename(name string, createParent bool, recursiveRenameSnapshots bool) (*Dataset, error) {
  	args := make([]string, 3, 5)
  	args[0] = "rename"
  	args[1] = d.Name
  	args[2] = name
  	if createParent {
  		args = append(args, "-p")
  	}
  	if recursiveRenameSnapshots {
  		args = append(args, "-r")
  	}
  	_, err := zfs(args...)
  	if err != nil {
  		return d, err
  	}
  
  	return GetDataset(name)
  }
docs: // Rename renames a dataset.