Skip to content

Commit 962f825

Browse files
committed
Improve error messaging around VerifyDevicePath and reduce stutter
1 parent afd7d61 commit 962f825

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

pkg/mount-manager/device-utils.go

+8-5
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ func (m *deviceUtils) VerifyDevicePath(devicePaths []string, diskName string) (s
171171
// device to get the device to show up in /dev/by-id/
172172
innerErr := udevadmTriggerForDiskIfExists(diskName)
173173
if innerErr != nil {
174-
return false, fmt.Errorf("failed to trigger udevadm fix for disk %s: %v", diskName, innerErr)
174+
return false, fmt.Errorf("failed to trigger udevadm fix: %v", innerErr)
175175
}
176176
// Go to next retry loop to get the deviceName again after
177177
// potentially fixing it with the udev command
@@ -199,7 +199,7 @@ func (m *deviceUtils) VerifyDevicePath(devicePaths []string, diskName string) (s
199199
// The devicePath is not mapped to the correct disk
200200
innerErr = udevadmTriggerForDiskIfExists(diskName)
201201
if innerErr != nil {
202-
return false, fmt.Errorf("failed to trigger udevadm fix for disk %s: %v", diskName, innerErr)
202+
return false, fmt.Errorf("failed to trigger udevadm fix: %v", innerErr)
203203
}
204204
// Go to next retry loop to get the deviceName again after
205205
// potentially fixing it with the udev command
@@ -214,27 +214,30 @@ func (m *deviceUtils) VerifyDevicePath(devicePaths []string, diskName string) (s
214214
}
215215

216216
func udevadmTriggerForDiskIfExists(diskName string) error {
217+
devToSCSI := map[string]string{}
217218
sds, err := filepath.Glob(diskSDPattern)
218219
if err != nil {
219220
return fmt.Errorf("failed to filepath.Glob(\"%s\"): %v", diskSDPattern, err)
220221
}
221222
for _, devSDX := range sds {
222223
scsiSerial, err := getScsiSerial(devSDX)
223224
if err != nil {
224-
return fmt.Errorf("failed to get SCSI Serial num for %s: %v", devSDX, err)
225+
return fmt.Errorf("failed to get SCSI Serial num: %v", err)
225226
}
227+
devToSCSI[devSDX] = scsiSerial
226228
if scsiSerial == diskName {
227229
// Found the disk that we're looking for so run a trigger on it
228230
// to resolve its /dev/by-id/ path
229231
klog.Warningf("udevadm --trigger running to fix disk at path %s which has SCSI ID %s", devSDX, scsiSerial)
230232
err := udevadmChangeToDrive(devSDX)
231233
if err != nil {
232-
return fmt.Errorf("failed to fix disk at path %s which has SCSI ID %s: %v", devSDX, scsiSerial, err)
234+
return fmt.Errorf("failed to fix disk which has SCSI ID %s: %v", scsiSerial, err)
233235
}
234236
return nil
235237
}
236238
}
237-
return fmt.Errorf("udevadm --trigger requested to fix disk %s but no such disk was found in %v", diskName, sds)
239+
klog.Warningf("udevadm --trigger requested to fix disk %s but no such disk was found in %v", diskName, devToSCSI)
240+
return fmt.Errorf("udevadm --trigger requested to fix disk %s but no such disk was found", diskName)
238241
}
239242

240243
// Calls "udevadm trigger --action=change" on the specified drive. drivePath

0 commit comments

Comments
 (0)