From c69309c96481213c399518c7a638258619b9d45f Mon Sep 17 00:00:00 2001 From: Eugenio Siciliano Date: Mon, 10 Jun 2024 19:47:52 +0200 Subject: [PATCH] Returning dcgmRunDiagnostic results for a partial success Motivation: on DCGM_ST_NVVS_ERROR, the caller could want a report of what the successful tests were, if any. Signed-off-by: Eugenio Daniele Siciliano --- pkg/dcgm/diag.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/dcgm/diag.go b/pkg/dcgm/diag.go index 8212842..22ad4b8 100644 --- a/pkg/dcgm/diag.go +++ b/pkg/dcgm/diag.go @@ -145,8 +145,12 @@ func RunDiag(diagType DiagType, groupId GroupHandle) (DiagResults, error) { diagResults.version = makeVersion9(unsafe.Sizeof(diagResults)) result := C.dcgmRunDiagnostic(handle.handle, groupId.handle, diagLevel(diagType), (*C.dcgmDiagResponse_v9)(unsafe.Pointer(&diagResults))) - if err := errorString(result); err != nil { - return DiagResults{}, &DcgmError{msg: C.GoString(C.errorString(result)), Code: result} + var err error + if err = errorString(result); err != nil { + err = &DcgmError{msg: err.Error(), Code: result} + if result != DCGM_ST_NVVS_ERROR { + return DiagResults{}, err + } } var diagRun DiagResults @@ -165,5 +169,5 @@ func RunDiag(diagType DiagType, groupId GroupHandle) (DiagResults, error) { diagRun.PerGpu = append(diagRun.PerGpu, gr) } - return diagRun, nil + return diagRun, err }