zfs.go
func (d *Dataset) Children(depth uint64) ([]*Dataset, error) {
	args := []string{"list"}
	if depth > 0 {
		args = append(args, "-d")
		args = append(args, strconv.FormatUint(depth, 10))
	} else {
		args = append(args, "-r")
	}
	args = append(args, "-t", "all", "-Hp", "-o", dsPropListOptions)
	args = append(args, d.Name)

	out, err := zfs(args...)
	if err != nil {
		return nil, err
	}

	var datasets []*Dataset
	name := ""
	var ds *Dataset
	for _, line := range out {
		if name != line[0] {
			name = line[0]
			ds = &Dataset{Name: name}
			datasets = append(datasets, ds)
		}
		if err := ds.parseLine(line); err != nil {
			return nil, err
		}
	}
	return datasets[1:], nil
}
func (d *Dataset) Children(depth uint64) ([]*Dataset, error) {
	args := []string{"list"}
	if depth > 0 {
		args = append(args, "-d")
		args = append(args, strconv.FormatUint(depth, 10))
	} else {
		args = append(args, "-r")
	}
	args = append(args, "-t", "all", "-Hp", "-o", dsPropListOptions)
	args = append(args, d.Name)

	out, err := zfs(args...)
	if err != nil {
		return nil, err
	}

	var datasets []*Dataset
	name := ""
	var ds *Dataset
	for _, line := range out {
		if name != line[0] {
			name = line[0]
			ds = &Dataset{Name: name}
			datasets = append(datasets, ds)
		}
		if err := ds.parseLine(line); err != nil {
			return nil, err
		}
	}
	return datasets[1:], nil
}
func ( d * Dataset ) Children ( depth uint64 ) ( [ ] * Dataset , error ) { args := [ ] string { " " } if depth > 0 { args = append ( args , " " ) args = append ( args , strconv . FormatUint ( depth , 10 ) ) } else { args = append ( args , " " ) } args = append ( args , " " , " " , " " , " " , dsPropListOptions ) args = append ( args , d . Name ) out , err := zfs ( args ... ) if err != nil { return nil , err } var datasets [ ] * Dataset name := " " var ds * Dataset for _ , line := range out { if name != line [ 0 ] { name = line [ 0 ] ds = & Dataset { Name : name } datasets = append ( datasets , ds ) } if err := ds . parseLine ( line ) ; err != nil { return nil , err } } return datasets [ 1 : ] , nil }
// Children returns a slice of children of the receiving ZFS dataset.
// A recursion depth may be specified, or a depth of 0 allows unlimited
// recursion.
Children returns a slice of children of the receiving ZFS dataset . A recursion depth may be specified or a depth of 0 allows unlimited recursion .