Browse code

Merge pull request #9183 from vbatts/dm_udevwait

devmapper: Call UdevWait() even in failure path

Michael Crosby authored on 2014/11/22 10:28:37
Showing 1 changed files
... ...
@@ -373,13 +373,12 @@ func CreatePool(poolName string, dataFile, metadataFile *os.File, poolBlockSize
373 373
 	if err := task.SetCookie(&cookie, 0); err != nil {
374 374
 		return fmt.Errorf("Can't set cookie %s", err)
375 375
 	}
376
+	defer UdevWait(cookie)
376 377
 
377 378
 	if err := task.Run(); err != nil {
378 379
 		return fmt.Errorf("Error running DeviceCreate (CreatePool) %s", err)
379 380
 	}
380 381
 
381
-	UdevWait(cookie)
382
-
383 382
 	return nil
384 383
 }
385 384
 
... ...
@@ -516,13 +515,12 @@ func ResumeDevice(name string) error {
516 516
 	if err := task.SetCookie(&cookie, 0); err != nil {
517 517
 		return fmt.Errorf("Can't set cookie %s", err)
518 518
 	}
519
+	defer UdevWait(cookie)
519 520
 
520 521
 	if err := task.Run(); err != nil {
521 522
 		return fmt.Errorf("Error running DeviceResume %s", err)
522 523
 	}
523 524
 
524
-	UdevWait(cookie)
525
-
526 525
 	return nil
527 526
 }
528 527
 
... ...
@@ -596,12 +594,12 @@ func ActivateDevice(poolName string, name string, deviceId int, size uint64) err
596 596
 		return fmt.Errorf("Can't set cookie %s", err)
597 597
 	}
598 598
 
599
+	defer UdevWait(cookie)
600
+
599 601
 	if err := task.Run(); err != nil {
600 602
 		return fmt.Errorf("Error running DeviceCreate (ActivateDevice) %s", err)
601 603
 	}
602 604
 
603
-	UdevWait(cookie)
604
-
605 605
 	return nil
606 606
 }
607 607