mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #26378 from rhvgoyal/fix-max-retries
devmapper: Fail to start container if xfs_nospace_max_retries can't be enforced
This commit is contained in:
commit
ce5eb34e68
1 changed files with 3 additions and 5 deletions
|
@ -2325,11 +2325,7 @@ func (devices *DeviceSet) xfsSetNospaceRetries(info *devInfo) error {
|
||||||
filePath := "/sys/fs/xfs/" + dmDeviceName + "/error/metadata/ENOSPC/max_retries"
|
filePath := "/sys/fs/xfs/" + dmDeviceName + "/error/metadata/ENOSPC/max_retries"
|
||||||
maxRetriesFile, err := os.OpenFile(filePath, os.O_WRONLY, 0)
|
maxRetriesFile, err := os.OpenFile(filePath, os.O_WRONLY, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// Older kernels don't have this feature/file
|
return fmt.Errorf("devmapper: user specified daemon option dm.xfs_nospace_max_retries but it does not seem to be supported on this system :%v", err)
|
||||||
if os.IsNotExist(err) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return fmt.Errorf("devmapper: Failed to open file %v:%v", filePath, err)
|
|
||||||
}
|
}
|
||||||
defer maxRetriesFile.Close()
|
defer maxRetriesFile.Close()
|
||||||
|
|
||||||
|
@ -2383,6 +2379,8 @@ func (devices *DeviceSet) MountDevice(hash, path, mountLabel string) error {
|
||||||
|
|
||||||
if fstype == "xfs" && devices.xfsNospaceRetries != "" {
|
if fstype == "xfs" && devices.xfsNospaceRetries != "" {
|
||||||
if err := devices.xfsSetNospaceRetries(info); err != nil {
|
if err := devices.xfsSetNospaceRetries(info); err != nil {
|
||||||
|
syscall.Unmount(path, syscall.MNT_DETACH)
|
||||||
|
devices.deactivateDevice(info)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue