devmapper: Move maxDeviceID check in loadMetadata

maxDeviceID is upper limit on device Id thin pool can support. Right now
we have this check only during startup. It is a good idea to move this
check in loadMetadata so that any time a device file is loaded and if it
is corrupted and device Id is more than maxDevieceID, it will be detected
right then and there.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: 94caae2477f42b55adeab22f14bcef22b90373d6
Component: engine
This commit is contained in:
Vivek Goyal
2015-09-30 18:54:06 -04:00
parent 67663efaad
commit 6479d844f2

View File

@ -405,11 +405,6 @@ func (devices *DeviceSet) deviceFileWalkFunction(path string, finfo os.FileInfo)
return fmt.Errorf("Error loading device metadata file %s", hash)
}
if dinfo.DeviceID > maxDeviceID {
logrus.Errorf("Ignoring Invalid DeviceID=%d", dinfo.DeviceID)
return nil
}
devices.Lock()
devices.markDeviceIDUsed(dinfo.DeviceID)
devices.Unlock()
@ -715,6 +710,11 @@ func (devices *DeviceSet) loadMetadata(hash string) *devInfo {
return nil
}
if info.DeviceID > maxDeviceID {
logrus.Errorf("Ignoring Invalid DeviceId=%d", info.DeviceID)
return nil
}
return info
}