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") | 	ErrSetDevDir              = errors.New("dm_set_dev_dir failed") | ||||||
| 	ErrGetLibraryVersion      = errors.New("dm_get_library_version failed") | 	ErrGetLibraryVersion      = errors.New("dm_get_library_version failed") | ||||||
| 	ErrCreateRemoveTask       = errors.New("Can't create task of type DeviceRemove") | 	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") | 	ErrInvalidAddNode         = errors.New("Invalide AddNoce type") | ||||||
| 	ErrGetLoopbackBackingFile = errors.New("Unable to get loopback backing file") | 	ErrGetLoopbackBackingFile = errors.New("Unable to get loopback backing file") | ||||||
| 	ErrLoopbackSetCapacity    = errors.New("Unable set loopback capacity") | 	ErrLoopbackSetCapacity    = errors.New("Unable set loopback capacity") | ||||||
|  | @ -296,18 +296,27 @@ func GetLibraryVersion() (string, error) { | ||||||
| 
 | 
 | ||||||
| // Useful helper for cleanup | // Useful helper for cleanup | ||||||
| func RemoveDevice(name string) error { | func RemoveDevice(name string) error { | ||||||
| 	// TODO(vbatts) just use the other removeDevice() | 	log.Debugf("[devmapper] RemoveDevice START") | ||||||
| 	task := TaskCreate(DeviceRemove) | 	defer log.Debugf("[devmapper] RemoveDevice END") | ||||||
|  | 	task, err := createTask(DeviceRemove, name) | ||||||
| 	if task == nil { | 	if task == nil { | ||||||
| 		return ErrCreateRemoveTask |  | ||||||
| 	} |  | ||||||
| 	if err := task.SetName(name); err != nil { |  | ||||||
| 		log.Debugf("Can't set task name %s", name) |  | ||||||
| 		return err | 		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 | 	return nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -534,7 +543,7 @@ func CreateDevice(poolName string, deviceId *int) error { | ||||||
| 			return fmt.Errorf("Can't set message %s", err) | 			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 err := task.Run(); err != nil { | ||||||
| 			if dmSawExist { | 			if dmSawExist { | ||||||
| 				// Already exists, try next id | 				// Already exists, try next id | ||||||
|  | @ -568,23 +577,6 @@ func DeleteDevice(poolName string, deviceId int) error { | ||||||
| 	return nil | 	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 { | func ActivateDevice(poolName string, name string, deviceId int, size uint64) error { | ||||||
| 	task, err := createTask(DeviceCreate, name) | 	task, err := createTask(DeviceCreate, name) | ||||||
| 	if task == nil { | 	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) | 			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 err := task.Run(); err != nil { | ||||||
| 			if dmSawExist { | 			if dmSawExist { | ||||||
| 				// Already exists, try next id | 				// Already exists, try next id | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue