Browse code

Ensures files get closed properly. Closes #6213

Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)

Tibor Vass authored on 2014/06/06 07:13:43
Showing 2 changed files
... ...
@@ -4,7 +4,7 @@
4 4
 
5 5
 The device mapper graphdriver uses the device mapper thin provisioning
6 6
 module (dm-thinp) to implement CoW snapshots. For each devicemapper
7
-graph locaion (typically `/var/lib/docker/devicemapper`, $graph below)
7
+graph location (typically `/var/lib/docker/devicemapper`, $graph below)
8 8
 a thin pool is created based on two block devices, one for data and
9 9
 one for metadata.  By default these block devices are created
10 10
 automatically by using loopback mounts of automatically creates sparse
... ...
@@ -307,7 +307,6 @@ func (devices *DeviceSet) createFilesystem(info *DevInfo) error {
307 307
 		err = fmt.Errorf("Unsupported filesystem type %s", devices.filesystem)
308 308
 	}
309 309
 	if err != nil {
310
-		utils.Debugf("\n--->Err: %s\n", err)
311 310
 		return err
312 311
 	}
313 312
 
... ...
@@ -317,12 +316,10 @@ func (devices *DeviceSet) createFilesystem(info *DevInfo) error {
317 317
 func (devices *DeviceSet) initMetaData() error {
318 318
 	_, _, _, params, err := getStatus(devices.getPoolName())
319 319
 	if err != nil {
320
-		utils.Debugf("\n--->Err: %s\n", err)
321 320
 		return err
322 321
 	}
323 322
 
324 323
 	if _, err := fmt.Sscanf(params, "%d", &devices.TransactionId); err != nil {
325
-		utils.Debugf("\n--->Err: %s\n", err)
326 324
 		return err
327 325
 	}
328 326
 	devices.NewTransactionId = devices.TransactionId
... ...
@@ -331,7 +328,6 @@ func (devices *DeviceSet) initMetaData() error {
331 331
 
332 332
 	jsonData, err := ioutil.ReadFile(devices.oldMetadataFile())
333 333
 	if err != nil && !os.IsNotExist(err) {
334
-		utils.Debugf("\n--->Err: %s\n", err)
335 334
 		return err
336 335
 	}
337 336
 
... ...
@@ -339,7 +335,6 @@ func (devices *DeviceSet) initMetaData() error {
339 339
 		m := MetaData{Devices: make(map[string]*DevInfo)}
340 340
 
341 341
 		if err := json.Unmarshal(jsonData, &m); err != nil {
342
-			utils.Debugf("\n--->Err: %s\n", err)
343 342
 			return err
344 343
 		}
345 344
 
... ...
@@ -389,7 +384,6 @@ func (devices *DeviceSet) setupBaseImage() error {
389 389
 	if oldInfo != nil && !oldInfo.Initialized {
390 390
 		utils.Debugf("Removing uninitialized base image")
391 391
 		if err := devices.deleteDevice(oldInfo); err != nil {
392
-			utils.Debugf("\n--->Err: %s\n", err)
393 392
 			return err
394 393
 		}
395 394
 	}
... ...
@@ -400,7 +394,6 @@ func (devices *DeviceSet) setupBaseImage() error {
400 400
 
401 401
 	// Create initial device
402 402
 	if err := createDevice(devices.getPoolDevName(), &id); err != nil {
403
-		utils.Debugf("\n--->Err: %s\n", err)
404 403
 		return err
405 404
 	}
406 405
 
... ...
@@ -411,26 +404,22 @@ func (devices *DeviceSet) setupBaseImage() error {
411 411
 	info, err := devices.registerDevice(id, "", devices.baseFsSize)
412 412
 	if err != nil {
413 413
 		_ = deleteDevice(devices.getPoolDevName(), id)
414
-		utils.Debugf("\n--->Err: %s\n", err)
415 414
 		return err
416 415
 	}
417 416
 
418 417
 	utils.Debugf("Creating filesystem on base device-manager snapshot")
419 418
 
420 419
 	if err = devices.activateDeviceIfNeeded(info); err != nil {
421
-		utils.Debugf("\n--->Err: %s\n", err)
422 420
 		return err
423 421
 	}
424 422
 
425 423
 	if err := devices.createFilesystem(info); err != nil {
426
-		utils.Debugf("\n--->Err: %s\n", err)
427 424
 		return err
428 425
 	}
429 426
 
430 427
 	info.Initialized = true
431 428
 	if err = devices.saveMetadata(info); err != nil {
432 429
 		info.Initialized = false
433
-		utils.Debugf("\n--->Err: %s\n", err)
434 430
 		return err
435 431
 	}
436 432
 
... ...
@@ -610,16 +599,15 @@ func (devices *DeviceSet) initDevmapper(doInit bool) error {
610 610
 
611 611
 			dataFile, err = attachLoopDevice(data)
612 612
 			if err != nil {
613
-				utils.Debugf("\n--->Err: %s\n", err)
614 613
 				return err
615 614
 			}
616
-			defer dataFile.Close()
617 615
 		} else {
618 616
 			dataFile, err = os.OpenFile(devices.dataDevice, os.O_RDWR, 0600)
619 617
 			if err != nil {
620 618
 				return err
621 619
 			}
622 620
 		}
621
+		defer dataFile.Close()
623 622
 
624 623
 		if devices.metadataDevice == "" {
625 624
 			// Make sure the sparse images exist in <root>/devicemapper/metadata
... ...
@@ -642,19 +630,17 @@ func (devices *DeviceSet) initDevmapper(doInit bool) error {
642 642
 
643 643
 			metadataFile, err = attachLoopDevice(metadata)
644 644
 			if err != nil {
645
-				utils.Debugf("\n--->Err: %s\n", err)
646 645
 				return err
647 646
 			}
648
-			defer metadataFile.Close()
649 647
 		} else {
650 648
 			metadataFile, err = os.OpenFile(devices.metadataDevice, os.O_RDWR, 0600)
651 649
 			if err != nil {
652 650
 				return err
653 651
 			}
654 652
 		}
653
+		defer metadataFile.Close()
655 654
 
656 655
 		if err := createPool(devices.getPoolName(), dataFile, metadataFile); err != nil {
657
-			utils.Debugf("\n--->Err: %s\n", err)
658 656
 			return err
659 657
 		}
660 658
 	}
... ...
@@ -663,7 +649,6 @@ func (devices *DeviceSet) initDevmapper(doInit bool) error {
663 663
 	// load the transaction id and migrate old metadata
664 664
 	if !createdLoopback {
665 665
 		if err = devices.initMetaData(); err != nil {
666
-			utils.Debugf("\n--->Err: %s\n", err)
667 666
 			return err
668 667
 		}
669 668
 	}
... ...
@@ -775,7 +760,6 @@ func (devices *DeviceSet) deactivatePool() error {
775 775
 	devname := devices.getPoolDevName()
776 776
 	devinfo, err := getInfo(devname)
777 777
 	if err != nil {
778
-		utils.Debugf("\n--->Err: %s\n", err)
779 778
 		return err
780 779
 	}
781 780
 	if devinfo.Exists != 0 {
... ...
@@ -797,12 +781,10 @@ func (devices *DeviceSet) deactivateDevice(info *DevInfo) error {
797 797
 
798 798
 	devinfo, err := getInfo(info.Name())
799 799
 	if err != nil {
800
-		utils.Debugf("\n--->Err: %s\n", err)
801 800
 		return err
802 801
 	}
803 802
 	if devinfo.Exists != 0 {
804 803
 		if err := devices.removeDeviceAndWait(info.Name()); err != nil {
805
-			utils.Debugf("\n--->Err: %s\n", err)
806 804
 			return err
807 805
 		}
808 806
 	}
... ...
@@ -1032,7 +1014,6 @@ func (devices *DeviceSet) UnmountDevice(hash string) error {
1032 1032
 
1033 1033
 	utils.Debugf("[devmapper] Unmount(%s)", info.mountPath)
1034 1034
 	if err := syscall.Unmount(info.mountPath, 0); err != nil {
1035
-		utils.Debugf("\n--->Err: %s\n", err)
1036 1035
 		return err
1037 1036
 	}
1038 1037
 	utils.Debugf("[devmapper] Unmount done")