On 1/11/22 04:42, Ani Sinha wrote: > Currently virProcessGetStatInfo() always returns success and only logs error > when it is unable to parse the data. Make this function actually report the > error and return a negative value in this error scenario. > > Fix the callers so that they do not override the error generated. > > Signed-off-by: Ani Sinha <ani@xxxxxxxxxxx> > --- > src/ch/ch_driver.c | 2 -- > src/qemu/qemu_driver.c | 7 +------ > src/util/virprocess.c | 6 +++++- > 3 files changed, 6 insertions(+), 9 deletions(-) > > changelog: > v2: fixed the callers > > diff --git a/src/util/virprocess.c b/src/util/virprocess.c > index c74bd16fe6..b9f498d5d8 100644 > --- a/src/util/virprocess.c > +++ b/src/util/virprocess.c > @@ -1783,7 +1783,11 @@ virProcessGetStatInfo(unsigned long long *cpuTime, > virStrToLong_ullp(proc_stat[VIR_PROCESS_STAT_STIME], NULL, 10, &systime) < 0 || > virStrToLong_l(proc_stat[VIR_PROCESS_STAT_RSS], NULL, 10, &rss) < 0 || > virStrToLong_i(proc_stat[VIR_PROCESS_STAT_PROCESSOR], NULL, 10, &cpu) < 0) { > - VIR_WARN("cannot parse process status data"); > + virReportError(VIR_ERR_INTERNAL_ERROR, > + _("cannot parse process status data for pid '%d/%d'"), > + (int) pid, (int) tid); > + > + return -1; > } > > /* We got jiffies There's an alternative implementation for non-Linux platforms, but you are introducing error reporting only to this implementation. Both versions have to behave the same, i.e. the non-Linux implementation now has to report error too. Can you fix that in v3? Michal