Mailing List Archive

[xen stable-4.17] tools/oxenstored: Fix incorrect scope after an if statement
commit 2e8d7a08bcd111fe21569e9ace1a047df76da949
Author: Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Nov 11 18:50:34 2022 +0000
Commit: Andrew Cooper <andrew.cooper3@citrix.com>
CommitDate: Tue Dec 20 13:13:40 2022 +0000

tools/oxenstored: Fix incorrect scope after an if statement

A debug statement got inserted into a single-expression if statement.

Insert brackets to give the intended meaning, rather than the actual meaning
where the "let con = Connections..." is outside and executed unconditionally.

This results in some unnecessary ring checks for domains which otherwise have
IO credit.

Fixes: 42f0581a91d4 ("tools/oxenstored: Implement live update for socket connections")
Reported-by: Edwin Török <edvin.torok@citrix.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Christian Lindig <christian.lindig@citrix.com>
(cherry picked from commit ee36179371fd4215a43fb179be2165f65c1cd1cd)
---
tools/ocaml/xenstored/xenstored.ml | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/ocaml/xenstored/xenstored.ml b/tools/ocaml/xenstored/xenstored.ml
index ffd43a4eee..c5dc7a28d0 100644
--- a/tools/ocaml/xenstored/xenstored.ml
+++ b/tools/ocaml/xenstored/xenstored.ml
@@ -475,7 +475,7 @@ let _ =

let ring_scan_checker dom =
(* no need to scan domains already marked as for processing *)
- if not (Domain.get_io_credit dom > 0) then
+ if not (Domain.get_io_credit dom > 0) then (
debug "Looking up domid %d" (Domain.get_id dom);
let con = Connections.find_domain cons (Domain.get_id dom) in
if not (Connection.has_more_work con) then (
@@ -490,7 +490,8 @@ let _ =
let n = 32 + 2 * (Domains.number domains) in
info "found lazy domain %d, credit %d" (Domain.get_id dom) n;
Domain.set_io_credit ~n dom
- ) in
+ )
+ ) in

let last_stat_time = ref 0. in
let last_scan_time = ref 0. in
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.17