Ver Fonte

Merge pull request #10197 from vbatts/vbatts-dm_cookie_support

devicemapper: API for cookie support
Michael Crosby há 10 anos atrás
pai
commit
c81fb7fa4a
2 ficheiros alterados com 12 adições e 0 exclusões
  1. 7 0
      pkg/devicemapper/devmapper.go
  2. 5 0
      pkg/devicemapper/devmapper_wrapper.go

+ 7 - 0
pkg/devicemapper/devmapper.go

@@ -339,6 +339,13 @@ func UdevSetSyncSupport(enable bool) bool {
 	return UdevSyncSupported()
 }
 
+// CookieSupported returns whether the version of device-mapper supports the
+// use of cookie's in the tasks.
+// This is largely a lower level call that other functions use.
+func CookieSupported() bool {
+	return DmCookieSupported() != 0
+}
+
 // Useful helper for cleanup
 func RemoveDevice(name string) error {
 	log.Debugf("[devmapper] RemoveDevice START(%s)", name)

+ 5 - 0
pkg/devicemapper/devmapper_wrapper.go

@@ -110,6 +110,7 @@ var (
 	DmUdevWait             = dmUdevWaitFct
 	DmUdevSetSyncSupport   = dmUdevSetSyncSupportFct
 	DmUdevGetSyncSupport   = dmUdevGetSyncSupportFct
+	DmCookieSupported      = dmCookieSupportedFct
 	LogWithErrnoInit       = logWithErrnoInitFct
 )
 
@@ -246,6 +247,10 @@ func dmUdevWaitFct(cookie uint) int {
 	return int(C.dm_udev_wait(C.uint32_t(cookie)))
 }
 
+func dmCookieSupportedFct() int {
+	return int(C.dm_cookie_supported())
+}
+
 func dmLogInitVerboseFct(level int) {
 	C.dm_log_init_verbose(C.int(level))
 }