zfs.go
func (d *Dataset) Snapshot(name string, recursive bool) (*Dataset, error) {
	args := make([]string, 1, 4)
	args[0] = "snapshot"
	if recursive {
		args = append(args, "-r")
	}
	snapName := fmt.Sprintf("%s@%s", d.Name, name)
	args = append(args, snapName)
	_, err := zfs(args...)
	if err != nil {
		return nil, err
	}
	return GetDataset(snapName)
}
func (d *Dataset) Snapshot(name string, recursive bool) (*Dataset, error) {
	args := make([]string, 1, 4)
	args[0] = "snapshot"
	if recursive {
		args = append(args, "-r")
	}
	snapName := fmt.Sprintf("%s@%s", d.Name, name)
	args = append(args, snapName)
	_, err := zfs(args...)
	if err != nil {
		return nil, err
	}
	return GetDataset(snapName)
}
func ( d * Dataset ) Snapshot ( name string , recursive bool ) ( * Dataset , error ) { args := make ( [ ] string , 1 , 4 ) args [ 0 ] = " " if recursive { args = append ( args , " " ) } snapName := fmt . Sprintf ( " " , d . Name , name ) args = append ( args , snapName ) _ , err := zfs ( args ... ) if err != nil { return nil , err } return GetDataset ( snapName ) }
// Snapshot creates a new ZFS snapshot of the receiving dataset, using the
// specified name.  Optionally, the snapshot can be taken recursively, creating
// snapshots of all descendent filesystems in a single, atomic operation.
Snapshot creates a new ZFS snapshot of the receiving dataset using the specified name . Optionally the snapshot can be taken recursively creating snapshots of all descendent filesystems in a single atomic operation .