mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
devmapper: cleanup error reporting
This commit is contained in:
parent
5e363072f5
commit
0ad35c6746
1 changed files with 10 additions and 20 deletions
|
@ -131,40 +131,33 @@ func (devices *DeviceSet) allocateTransactionId() uint64 {
|
||||||
func (devices *DeviceSet) saveMetadata() error {
|
func (devices *DeviceSet) saveMetadata() error {
|
||||||
jsonData, err := json.Marshal(devices.MetaData)
|
jsonData, err := json.Marshal(devices.MetaData)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Debugf("\n--->Err: %s\n", err)
|
return fmt.Errorf("Error encoding metaadata to json: %s", err)
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
tmpFile, err := ioutil.TempFile(filepath.Dir(devices.jsonFile()), ".json")
|
tmpFile, err := ioutil.TempFile(filepath.Dir(devices.jsonFile()), ".json")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Debugf("\n--->Err: %s\n", err)
|
return fmt.Errorf("Error creating metadata file: %s", err)
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
n, err := tmpFile.Write(jsonData)
|
n, err := tmpFile.Write(jsonData)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Debugf("\n--->Err: %s\n", err)
|
return fmt.Errorf("Error writing metadata to %s: %s", tmpFile.Name(), err)
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
if n < len(jsonData) {
|
if n < len(jsonData) {
|
||||||
return io.ErrShortWrite
|
return io.ErrShortWrite
|
||||||
}
|
}
|
||||||
if err := tmpFile.Sync(); err != nil {
|
if err := tmpFile.Sync(); err != nil {
|
||||||
utils.Debugf("\n--->Err: %s\n", err)
|
return fmt.Errorf("Error syncing metadata file %s: %s", tmpFile.Name(), err)
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
if err := tmpFile.Close(); err != nil {
|
if err := tmpFile.Close(); err != nil {
|
||||||
utils.Debugf("\n--->Err: %s\n", err)
|
return fmt.Errorf("Error closing metadata file %s: %s", tmpFile.Name(), err)
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
if err := os.Rename(tmpFile.Name(), devices.jsonFile()); err != nil {
|
if err := os.Rename(tmpFile.Name(), devices.jsonFile()); err != nil {
|
||||||
utils.Debugf("\n--->Err: %s\n", err)
|
return fmt.Errorf("Error committing metadata file", err)
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if devices.NewTransactionId != devices.TransactionId {
|
if devices.NewTransactionId != devices.TransactionId {
|
||||||
if err = setTransactionId(devices.getPoolDevName(), devices.TransactionId, devices.NewTransactionId); err != nil {
|
if err = setTransactionId(devices.getPoolDevName(), devices.TransactionId, devices.NewTransactionId); err != nil {
|
||||||
utils.Debugf("\n--->Err: %s\n", err)
|
return fmt.Errorf("Error setting devmapper transition ID: %s", err)
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
devices.TransactionId = devices.NewTransactionId
|
devices.TransactionId = devices.NewTransactionId
|
||||||
}
|
}
|
||||||
|
@ -655,13 +648,11 @@ func (devices *DeviceSet) MountDevice(hash, path string, readOnly bool) error {
|
||||||
defer devices.Unlock()
|
defer devices.Unlock()
|
||||||
|
|
||||||
if err := devices.ensureInit(); err != nil {
|
if err := devices.ensureInit(); err != nil {
|
||||||
utils.Debugf("\n--->Err: %s\n", err)
|
return fmt.Errorf("Error initializing devmapper: %s", err)
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := devices.activateDeviceIfNeeded(hash); err != nil {
|
if err := devices.activateDeviceIfNeeded(hash); err != nil {
|
||||||
utils.Debugf("\n--->Err: %s\n", err)
|
return fmt.Errorf("Error activating devmapper device for '%s': %s", hash, err)
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
info := devices.Devices[hash]
|
info := devices.Devices[hash]
|
||||||
|
@ -677,8 +668,7 @@ func (devices *DeviceSet) MountDevice(hash, path string, readOnly bool) error {
|
||||||
err = syscall.Mount(info.DevName(), path, "ext4", flags, "")
|
err = syscall.Mount(info.DevName(), path, "ext4", flags, "")
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Debugf("\n--->Err: %s\n", err)
|
return fmt.Errorf("Error mounting '%s' on '%s': %s", info.DevName(), path, err)
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
count := devices.activeMounts[path]
|
count := devices.activeMounts[path]
|
||||||
|
|
Loading…
Add table
Reference in a new issue