// DatasetSnapshot create dataset snapshot. Set recur to true to snapshot child datasets.
DatasetSnapshot create dataset snapshot. Set recur to true to snapshot child datasets.
// DatasetSnapshot create dataset snapshot . Set recur to true to snapshot child datasets .
func DatasetSnapshot(path string, recur bool, props map[Prop]Property) (rd Dataset, err error) {
	var cprops C.nvlist_ptr
	if cprops, err = datasetPropertiesTonvlist(props); err != nil {
		return
	}
	defer C.nvlist_free(cprops)
	csPath := C.CString(path)
	defer C.free(unsafe.Pointer(csPath))
	if errc := C.dataset_snapshot(csPath, booleanT(recur), cprops); errc != 0 {
		err = LastError()
		return
	}
	rd, err = DatasetOpen(path)
	return
}
func DatasetSnapshot ( path string , recur bool , props map [ Prop ] Property ) ( rd Dataset , err error ) { var cprops C . nvlist_ptr if cprops , err = datasetPropertiesTonvlist ( props ) ; err != nil { return } defer C . nvlist_free ( cprops ) csPath := C . CString ( path ) defer C . free ( unsafe . Pointer ( csPath ) ) if errc := C . dataset_snapshot ( csPath , booleanT ( recur ) , cprops ) ; errc != 0 { err = LastError ( ) return } rd , err = DatasetOpen ( path ) return }
DatasetSnapshot create dataset snapshot.
DatasetSnapshot create dataset snapshot .