Skip to content

Commit

Permalink
Merge pull request #20250 from Luap99/inspect-device
Browse files Browse the repository at this point in the history
inspect: ignore ENOENT during device lookup
  • Loading branch information
openshift-ci[bot] authored Oct 4, 2023
2 parents 6d3cea3 + 0443c51 commit 46ca057
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion pkg/util/utils_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,16 @@ func FindDeviceNodes() (map[string]string, error) {

info, err := d.Info()
if err != nil {
return err
// Info() can return ErrNotExist if the file was deleted between the readdir and stat call.
// This race can happen and is no reason to log an ugly error. If this is a container device
// that is used the code later will print a proper error in such case.
// There also seem to be cases were ErrNotExist is always returned likely due a weird device
// state, e.g. removing a device forcefully. This can happen with iSCSI devices.
if !errors.Is(err, fs.ErrNotExist) {
logrus.Errorf("Failed to get device information for %s: %v", path, err)
}
// return nil here as we want to continue looking for more device and not stop the WalkDir()
return nil
}
// We are a device node. Get major/minor.
sysstat, ok := info.Sys().(*syscall.Stat_t)
Expand Down

0 comments on commit 46ca057

Please sign in to comment.