Skip to content

Commit ac6deb7

Browse files
Praveenrajmaniharshavardhana
authored andcommitted
ignore device probe errors while starting
1 parent 2051473 commit ac6deb7

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

pkg/sys/drive_discovery_linux.go

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,8 @@ func getAllDevices() (devices map[string]*Device, err error) {
349349
devices = map[string]*Device{}
350350
for _, name := range names {
351351
if device, err = probeDevice(name); err != nil {
352-
return nil, err
352+
klog.V(3).Infof("couldn't probe device: %s due to error: %v", name, err)
353+
continue
353354
}
354355
devices[name] = device
355356
}
@@ -387,7 +388,8 @@ func updatePartTableInfo(devices map[string]*Device) error {
387388
case errors.Is(err, parttable.ErrPartTableNotFound):
388389
case strings.Contains(strings.ToLower(err.Error()), "no medium found"):
389390
default:
390-
return err
391+
klog.V(3).Infof("couldn't probe parttable for device %s due to error %v", name, err)
392+
continue
391393
}
392394
}
393395

@@ -400,7 +402,8 @@ func updatePartTableInfo(devices map[string]*Device) error {
400402

401403
partitions, err := getPartitions(name)
402404
if err != nil {
403-
return err
405+
klog.V(3).Infof("couldn't get partitions for device %s due to error %v", name, err)
406+
continue
404407
}
405408
devices[name].Partitioned = len(partitions) > 0
406409
for _, partition := range partitions {
@@ -416,7 +419,8 @@ func updatePartTableInfo(devices map[string]*Device) error {
416419

417420
slaves, err := getSlaves(name)
418421
if err != nil {
419-
return err
422+
klog.V(3).Infof("couldn't get info for device %s due to error %v", name, err)
423+
continue
420424
}
421425
for _, slave := range slaves {
422426
devices[slave].Master = name
@@ -525,36 +529,43 @@ func probeDevicesFromUdev() (devices map[string]*Device, err error) {
525529
if !hidden {
526530
major, minor, err := getMajorMinor(name)
527531
if err != nil {
528-
return nil, err
532+
klog.V(3).Infof("couldn't get maj:min of device %s due to error %v", name, err)
533+
continue
529534
}
530535

531536
virtual, err := getVirtual(name)
532537
if err != nil {
533-
return nil, err
538+
klog.V(3).Infof("couldn't get virtual info of device %s due to error %v", name, err)
539+
continue
534540
}
535541

536542
event, err := readRunUdevData(major, minor)
537543
if err != nil {
538-
return nil, err
544+
klog.V(3).Infof("couldn't get udevinfo of device %s due to error %v", name, err)
545+
continue
539546
}
540547

541548
device, err = newDevice(event, name, major, minor, virtual)
542549
if err != nil {
543-
return nil, err
550+
klog.V(3).Infof("couldn't construct new device %s due to error %v", name, err)
551+
continue
544552
}
545553
} else {
546554
device = &Device{Hidden: true}
547555
}
548556

549557
if device.Size, err = getSize(name); err != nil {
550-
return nil, err
558+
klog.V(3).Infof("couldn't get size info of device %s due to error %v", name, err)
559+
continue
551560
}
552561

553562
if device.Removable, err = getRemovable(name); err != nil {
554-
return nil, err
563+
klog.V(3).Infof("couldn't get removable info of device %s due to error %v", name, err)
564+
continue
555565
}
556566
if device.ReadOnly, err = getReadOnly(name); err != nil {
557-
return nil, err
567+
klog.V(3).Infof("couldn't get readonly info of device %s due to error %v", name, err)
568+
continue
558569
}
559570

560571
devices[name] = device

0 commit comments

Comments
 (0)