Re: [PATCH 2/2] xen: xenbus: WARN_ON XS_TRANSACTION_{START,END} misuse

From: Boris Ostrovsky
Date: Sun Feb 11 2018 - 10:28:58 EST




On 02/10/2018 08:27 PM, Simon Gaiser wrote:
Boris Ostrovsky:
On 02/07/2018 05:22 PM, Simon Gaiser wrote:
+ users_old = xs_state_users;
xs_state_users--;
if ((req->type == XS_TRANSACTION_START && req->msg.type == XS_ERROR) ||
req->type == XS_TRANSACTION_END)
xs_state_users--;
+ if (WARN_ON(xs_state_users > users_old))


WARN_ON_ONCE()?

Since we "fix" the wrong decrement by clamping at zero it should not
happen immediately again. But if you prefer _ONCE I can change it.



If this error can happen once then someone at least theoretically can construct a case when it is repeated. So let's switch to _ONCE() variant.

Thanks.
-boris