> On Apr 15, 2015, at 10:15 AM, Sorin Vinturis
> <[email protected]> wrote:
>
> The nl_sock_transact_multiple function enters in an infinite loop,
> when invalid error, EINVAL, is returned by nl_sock_transact_multiple__.
> EINVAL is the error returned by the latter function when a driver
> request fails.
>
> v2: Any error returned by nl_sock_transact_multiple__, except EAGAIN,
> causes the rest of NL transactions to be aborted.
> An error response from the driver is considered a successful transaction
> and the 'done' transactions counter is incremented.
>
> Signed-off-by: Sorin Vinturis <[email protected]>
> Reported-by: Alin Gabriel Serdean <[email protected]>
> Reported-at:
> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openvswitch_ovs-2Dissues_issues_57&d=AwIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=pNHQcdr7B40b4h6Yb7FIedI1dnBsxdDuTLBYD3JqV80&m=d8mgiPcztp_HOGcfxH4JYrPaBgQY_KhDBrPpkTxU1sU&s=xbWnO7pVIkwEG2E5CGY7fPta2vCaTiLMbzHynS2TF9g&e=
>
> Acked-by: Eitan Eliahu <[email protected]>
Thanks for the revision. Looks good but for a minor comment.
> @@ -797,8 +797,12 @@ nl_sock_transact_multiple__(struct nl_sock *sock,
> txn->request->size,
> reply_buf, sizeof reply_buf,
> &reply_len, NULL)) {
> + /* The transaction was successfully sent but failed. */
> + (*done)++;
Should we be incrementing ‘*done’? ‘done’, IMO, represents the number of
transactions that got executed successfully. If the transaction failed (due to
a transport error), then it did not get executed successfully. So, IMO, we
should not be incrementing ‘done’.
Acked-by: Nithin Raju <[email protected]>
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev