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…
	
	Add table
		Add a link
		
	
		Reference in a new issue