|
@@ -328,11 +328,11 @@ func RemoveDevice(name string) error {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
|
|
|
|
- var cookie uint
|
|
|
|
- if err := task.setCookie(&cookie, 0); err != nil {
|
|
|
|
|
|
+ cookie := new(uint)
|
|
|
|
+ if err := task.setCookie(cookie, 0); err != nil {
|
|
return fmt.Errorf("devicemapper: Can not set cookie: %s", err)
|
|
return fmt.Errorf("devicemapper: Can not set cookie: %s", err)
|
|
}
|
|
}
|
|
- defer UdevWait(&cookie)
|
|
|
|
|
|
+ defer UdevWait(cookie)
|
|
|
|
|
|
dmSawBusy = false // reset before the task is run
|
|
dmSawBusy = false // reset before the task is run
|
|
if err = task.run(); err != nil {
|
|
if err = task.run(); err != nil {
|
|
@@ -361,10 +361,10 @@ func RemoveDeviceDeferred(name string) error {
|
|
// set a task cookie and disable library fallback, or else libdevmapper will
|
|
// set a task cookie and disable library fallback, or else libdevmapper will
|
|
// disable udev dm rules and delete the symlink under /dev/mapper by itself,
|
|
// disable udev dm rules and delete the symlink under /dev/mapper by itself,
|
|
// even if the removal is deferred by the kernel.
|
|
// even if the removal is deferred by the kernel.
|
|
- var cookie uint
|
|
|
|
|
|
+ cookie := new(uint)
|
|
var flags uint16
|
|
var flags uint16
|
|
flags = DmUdevDisableLibraryFallback
|
|
flags = DmUdevDisableLibraryFallback
|
|
- if err := task.setCookie(&cookie, flags); err != nil {
|
|
|
|
|
|
+ if err := task.setCookie(cookie, flags); err != nil {
|
|
return fmt.Errorf("devicemapper: Can not set cookie: %s", err)
|
|
return fmt.Errorf("devicemapper: Can not set cookie: %s", err)
|
|
}
|
|
}
|
|
|
|
|
|
@@ -377,7 +377,7 @@ func RemoveDeviceDeferred(name string) error {
|
|
// this call will not wait for the deferred removal's final executing, since no
|
|
// this call will not wait for the deferred removal's final executing, since no
|
|
// udev event will be generated, and the semaphore's value will not be incremented
|
|
// udev event will be generated, and the semaphore's value will not be incremented
|
|
// by udev, what UdevWait is just cleaning up the semaphore.
|
|
// by udev, what UdevWait is just cleaning up the semaphore.
|
|
- defer UdevWait(&cookie)
|
|
|
|
|
|
+ defer UdevWait(cookie)
|
|
|
|
|
|
if err = task.run(); err != nil {
|
|
if err = task.run(); err != nil {
|
|
return fmt.Errorf("devicemapper: Error running RemoveDeviceDeferred %s", err)
|
|
return fmt.Errorf("devicemapper: Error running RemoveDeviceDeferred %s", err)
|
|
@@ -471,13 +471,13 @@ func CreatePool(poolName string, dataFile, metadataFile *os.File, poolBlockSize
|
|
return fmt.Errorf("devicemapper: Can't add target %s", err)
|
|
return fmt.Errorf("devicemapper: Can't add target %s", err)
|
|
}
|
|
}
|
|
|
|
|
|
- var cookie uint
|
|
|
|
|
|
+ cookie := new(uint)
|
|
var flags uint16
|
|
var flags uint16
|
|
flags = DmUdevDisableSubsystemRulesFlag | DmUdevDisableDiskRulesFlag | DmUdevDisableOtherRulesFlag
|
|
flags = DmUdevDisableSubsystemRulesFlag | DmUdevDisableDiskRulesFlag | DmUdevDisableOtherRulesFlag
|
|
- if err := task.setCookie(&cookie, flags); err != nil {
|
|
|
|
|
|
+ if err := task.setCookie(cookie, flags); err != nil {
|
|
return fmt.Errorf("devicemapper: Can't set cookie %s", err)
|
|
return fmt.Errorf("devicemapper: Can't set cookie %s", err)
|
|
}
|
|
}
|
|
- defer UdevWait(&cookie)
|
|
|
|
|
|
+ defer UdevWait(cookie)
|
|
|
|
|
|
if err := task.run(); err != nil {
|
|
if err := task.run(); err != nil {
|
|
return fmt.Errorf("devicemapper: Error running deviceCreate (CreatePool) %s", err)
|
|
return fmt.Errorf("devicemapper: Error running deviceCreate (CreatePool) %s", err)
|
|
@@ -659,11 +659,11 @@ func ResumeDevice(name string) error {
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
|
|
|
|
- var cookie uint
|
|
|
|
- if err := task.setCookie(&cookie, 0); err != nil {
|
|
|
|
|
|
+ cookie := new(uint)
|
|
|
|
+ if err := task.setCookie(cookie, 0); err != nil {
|
|
return fmt.Errorf("devicemapper: Can't set cookie %s", err)
|
|
return fmt.Errorf("devicemapper: Can't set cookie %s", err)
|
|
}
|
|
}
|
|
- defer UdevWait(&cookie)
|
|
|
|
|
|
+ defer UdevWait(cookie)
|
|
|
|
|
|
if err := task.run(); err != nil {
|
|
if err := task.run(); err != nil {
|
|
return fmt.Errorf("devicemapper: Error running deviceResume %s", err)
|
|
return fmt.Errorf("devicemapper: Error running deviceResume %s", err)
|
|
@@ -757,12 +757,12 @@ func activateDevice(poolName string, name string, deviceID int, size uint64, ext
|
|
return fmt.Errorf("devicemapper: Can't add node %s", err)
|
|
return fmt.Errorf("devicemapper: Can't add node %s", err)
|
|
}
|
|
}
|
|
|
|
|
|
- var cookie uint
|
|
|
|
- if err := task.setCookie(&cookie, 0); err != nil {
|
|
|
|
|
|
+ cookie := new(uint)
|
|
|
|
+ if err := task.setCookie(cookie, 0); err != nil {
|
|
return fmt.Errorf("devicemapper: Can't set cookie %s", err)
|
|
return fmt.Errorf("devicemapper: Can't set cookie %s", err)
|
|
}
|
|
}
|
|
|
|
|
|
- defer UdevWait(&cookie)
|
|
|
|
|
|
+ defer UdevWait(cookie)
|
|
|
|
|
|
if err := task.run(); err != nil {
|
|
if err := task.run(); err != nil {
|
|
return fmt.Errorf("devicemapper: Error running deviceCreate (ActivateDevice) %s", err)
|
|
return fmt.Errorf("devicemapper: Error running deviceCreate (ActivateDevice) %s", err)
|