mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00

1. devmapper_wrapper_{,no_}deferred_remove.go: Comments about LibraryDeferredRemovalSupport were very totally misleading to me. This thing has nothing to do with either static or dynamic linking (but with build tags). Fix the comment accordingly. 2. devmapper.go: Reveal the source of those magic device* constants. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
34 lines
1 KiB
Go
34 lines
1 KiB
Go
// +build linux,cgo,!libdm_no_deferred_remove
|
|
|
|
package devicemapper
|
|
|
|
/*
|
|
#cgo LDFLAGS: -L. -ldevmapper
|
|
#include <libdevmapper.h>
|
|
*/
|
|
import "C"
|
|
|
|
// LibraryDeferredRemovalSupport tells if the feature is enabled in the build
|
|
const LibraryDeferredRemovalSupport = true
|
|
|
|
func dmTaskDeferredRemoveFct(task *cdmTask) int {
|
|
return int(C.dm_task_deferred_remove((*C.struct_dm_task)(task)))
|
|
}
|
|
|
|
func dmTaskGetInfoWithDeferredFct(task *cdmTask, info *Info) int {
|
|
Cinfo := C.struct_dm_info{}
|
|
defer func() {
|
|
info.Exists = int(Cinfo.exists)
|
|
info.Suspended = int(Cinfo.suspended)
|
|
info.LiveTable = int(Cinfo.live_table)
|
|
info.InactiveTable = int(Cinfo.inactive_table)
|
|
info.OpenCount = int32(Cinfo.open_count)
|
|
info.EventNr = uint32(Cinfo.event_nr)
|
|
info.Major = uint32(Cinfo.major)
|
|
info.Minor = uint32(Cinfo.minor)
|
|
info.ReadOnly = int(Cinfo.read_only)
|
|
info.TargetCount = int32(Cinfo.target_count)
|
|
info.DeferredRemove = int(Cinfo.deferred_remove)
|
|
}()
|
|
return int(C.dm_task_get_info((*C.struct_dm_task)(task), &Cinfo))
|
|
}
|