
On Thu, 20 Jan 2022, Andrea Bolognani wrote:
On Tue, Jan 18, 2022 at 12:44:51PM +0100, Michal Privoznik wrote:
+++ b/src/util/virprocess.c @@ -1784,10 +1784,7 @@ 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) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("cannot parse process status data for pid '%d/%d'"), - (int) pid, (int) tid); - return -1; + VIR_WARN("cannot parse process status data");
Shame to lose the improved error/warning message. Perhaps it could be reintroduced separately.
Functions in general are not coded around success path only. Most well written functions have a success path and an error path. In case of error, they should be able to report warning/errors. If raising an error from a function causes a breakage of an external api, then that is an architectural problem imho. Instead of reverting the error/warning, we should try to fix the larger problem at hand in the longer term.