Merge pull request #9164 from vbatts/vbatts-dm_removedevice
pkg/devicemapper: cleanup removeDevice differences
This commit is contained in:
commit
d246e5f28e
1 changed files with 20 additions and 28 deletions
|
@ -62,7 +62,7 @@ var (
|
|||
ErrSetDevDir = errors.New("dm_set_dev_dir failed")
|
||||
ErrGetLibraryVersion = errors.New("dm_get_library_version failed")
|
||||
ErrCreateRemoveTask = errors.New("Can't create task of type DeviceRemove")
|
||||
ErrRunRemoveDevice = errors.New("running removeDevice failed")
|
||||
ErrRunRemoveDevice = errors.New("running RemoveDevice failed")
|
||||
ErrInvalidAddNode = errors.New("Invalide AddNoce type")
|
||||
ErrGetLoopbackBackingFile = errors.New("Unable to get loopback backing file")
|
||||
ErrLoopbackSetCapacity = errors.New("Unable set loopback capacity")
|
||||
|
@ -296,18 +296,27 @@ func GetLibraryVersion() (string, error) {
|
|||
|
||||
// Useful helper for cleanup
|
||||
func RemoveDevice(name string) error {
|
||||
// TODO(vbatts) just use the other removeDevice()
|
||||
task := TaskCreate(DeviceRemove)
|
||||
log.Debugf("[devmapper] RemoveDevice START")
|
||||
defer log.Debugf("[devmapper] RemoveDevice END")
|
||||
task, err := createTask(DeviceRemove, name)
|
||||
if task == nil {
|
||||
return ErrCreateRemoveTask
|
||||
}
|
||||
if err := task.SetName(name); err != nil {
|
||||
log.Debugf("Can't set task name %s", name)
|
||||
return err
|
||||
}
|
||||
if err := task.Run(); err != nil {
|
||||
return ErrRunRemoveDevice
|
||||
|
||||
var cookie uint = 0
|
||||
if err := task.SetCookie(&cookie, 0); err != nil {
|
||||
return fmt.Errorf("Can not set cookie: %s", err)
|
||||
}
|
||||
defer UdevWait(cookie)
|
||||
|
||||
dmSawBusy = false // reset before the task is run
|
||||
if err = task.Run(); err != nil {
|
||||
if dmSawBusy {
|
||||
return ErrBusy
|
||||
}
|
||||
return fmt.Errorf("Error running RemoveDevice %s", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -534,7 +543,7 @@ func CreateDevice(poolName string, deviceId *int) error {
|
|||
return fmt.Errorf("Can't set message %s", err)
|
||||
}
|
||||
|
||||
dmSawExist = false
|
||||
dmSawExist = false // reset before the task is run
|
||||
if err := task.Run(); err != nil {
|
||||
if dmSawExist {
|
||||
// Already exists, try next id
|
||||
|
@ -568,23 +577,6 @@ func DeleteDevice(poolName string, deviceId int) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func removeDevice(name string) error {
|
||||
log.Debugf("[devmapper] RemoveDevice START")
|
||||
defer log.Debugf("[devmapper] RemoveDevice END")
|
||||
task, err := createTask(DeviceRemove, name)
|
||||
if task == nil {
|
||||
return err
|
||||
}
|
||||
dmSawBusy = false
|
||||
if err = task.Run(); err != nil {
|
||||
if dmSawBusy {
|
||||
return ErrBusy
|
||||
}
|
||||
return fmt.Errorf("Error running RemoveDevice %s", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func ActivateDevice(poolName string, name string, deviceId int, size uint64) error {
|
||||
task, err := createTask(DeviceCreate, name)
|
||||
if task == nil {
|
||||
|
@ -646,7 +638,7 @@ func CreateSnapDevice(poolName string, deviceId *int, baseName string, baseDevic
|
|||
return fmt.Errorf("Can't set message %s", err)
|
||||
}
|
||||
|
||||
dmSawExist = false
|
||||
dmSawExist = false // reset before the task is run
|
||||
if err := task.Run(); err != nil {
|
||||
if dmSawExist {
|
||||
// Already exists, try next id
|
||||
|
|
Loading…
Reference in a new issue