OCaml 4.11.0 pre-release
Add upstream patch to fix one of the tests that fails on slow machines.
This commit is contained in:
parent
7278e9942f
commit
78c8600f66
52
0001-ocaml-Fix-bug-in-asynch-copy-test.patch
Normal file
52
0001-ocaml-Fix-bug-in-asynch-copy-test.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
From 0475bfe04a527051c0a37af59a733c4c8554e427 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Fri, 17 Apr 2020 22:23:56 +0100
|
||||||
|
Subject: [PATCH] ocaml: Fix bug in asynch copy test.
|
||||||
|
|
||||||
|
This program had a subtle bug: If we've read everything from the
|
||||||
|
source, but there are still source commands in flight, AND it happens
|
||||||
|
that there are no destination commands in flight, then the loop
|
||||||
|
finishes prematurely. This is particularly evident when you run the
|
||||||
|
test on a slow machine (armv7 in Koji is illustrative). The fix is to
|
||||||
|
check that there are no commands in flight either from the source or
|
||||||
|
to the destination.
|
||||||
|
|
||||||
|
(I actually discovered this when writing the golang bindings which
|
||||||
|
copied from the OCaml version, but forgot to make the correction to
|
||||||
|
the original.)
|
||||||
|
---
|
||||||
|
ocaml/examples/asynch_copy.ml | 3 ++-
|
||||||
|
ocaml/tests/test_590_aio_copy.ml | 3 ++-
|
||||||
|
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ocaml/examples/asynch_copy.ml b/ocaml/examples/asynch_copy.ml
|
||||||
|
index d5dcc60..7132f57 100644
|
||||||
|
--- a/ocaml/examples/asynch_copy.ml
|
||||||
|
+++ b/ocaml/examples/asynch_copy.ml
|
||||||
|
@@ -41,7 +41,8 @@ let asynch_copy src dst =
|
||||||
|
(* The main loop which runs until we have finished reading and
|
||||||
|
* there are no more commands in flight.
|
||||||
|
*)
|
||||||
|
- while !soff < size || NBD.aio_in_flight dst > 0 do
|
||||||
|
+ while !soff < size || NBD.aio_in_flight src > 0 || NBD.aio_in_flight dst > 0
|
||||||
|
+ do
|
||||||
|
(* If we're able to submit more reads from the source then do so now. *)
|
||||||
|
if !soff < size && NBD.aio_in_flight src < max_reads_in_flight then (
|
||||||
|
let bs = min bs (size -^ !soff) in
|
||||||
|
diff --git a/ocaml/tests/test_590_aio_copy.ml b/ocaml/tests/test_590_aio_copy.ml
|
||||||
|
index ac490ef..e3cd59d 100644
|
||||||
|
--- a/ocaml/tests/test_590_aio_copy.ml
|
||||||
|
+++ b/ocaml/tests/test_590_aio_copy.ml
|
||||||
|
@@ -64,7 +64,8 @@ let asynch_copy src dst =
|
||||||
|
(* The main loop which runs until we have finished reading and
|
||||||
|
* there are no more commands in flight.
|
||||||
|
*)
|
||||||
|
- while !soff < size || NBD.aio_in_flight dst > 0 do
|
||||||
|
+ while !soff < size || NBD.aio_in_flight src > 0 || NBD.aio_in_flight dst > 0
|
||||||
|
+ do
|
||||||
|
(* If we're able to submit more reads from the source then do so now. *)
|
||||||
|
if !soff < size && NBD.aio_in_flight src < max_reads_in_flight then (
|
||||||
|
let bs = min bs (size -^ !soff) in
|
||||||
|
--
|
||||||
|
2.25.0
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
Name: libnbd
|
Name: libnbd
|
||||||
Version: 1.3.6
|
Version: 1.3.6
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: NBD client library in userspace
|
Summary: NBD client library in userspace
|
||||||
|
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
@ -22,6 +22,9 @@ Source1: http://libguestfs.org/download/libnbd/%{source_directory}/%{name
|
|||||||
# https://pgp.key-server.io/pks/lookup?search=rjones%40redhat.com&fingerprint=on&op=vindex
|
# https://pgp.key-server.io/pks/lookup?search=rjones%40redhat.com&fingerprint=on&op=vindex
|
||||||
Source2: libguestfs.keyring
|
Source2: libguestfs.keyring
|
||||||
|
|
||||||
|
# Upstream patch to fix one of the tests that fails on slow machines.
|
||||||
|
Patch1: 0001-ocaml-Fix-bug-in-asynch-copy-test.patch
|
||||||
|
|
||||||
%if 0%{patches_touch_autotools}
|
%if 0%{patches_touch_autotools}
|
||||||
BuildRequires: autoconf, automake, libtool
|
BuildRequires: autoconf, automake, libtool
|
||||||
%endif
|
%endif
|
||||||
@ -277,6 +280,7 @@ make %{?_smp_mflags} check || {
|
|||||||
%changelog
|
%changelog
|
||||||
* Fri Apr 17 2020 Richard W.M. Jones <rjones@redhat.com> - 1.3.6-3
|
* Fri Apr 17 2020 Richard W.M. Jones <rjones@redhat.com> - 1.3.6-3
|
||||||
- OCaml 4.11.0 pre-release
|
- OCaml 4.11.0 pre-release
|
||||||
|
- Add upstream patch to fix one of the tests that fails on slow machines.
|
||||||
|
|
||||||
* Thu Apr 02 2020 Richard W.M. Jones <rjones@redhat.com> - 1.3.6-2
|
* Thu Apr 02 2020 Richard W.M. Jones <rjones@redhat.com> - 1.3.6-2
|
||||||
- Update all OCaml dependencies for RPM 4.16.
|
- Update all OCaml dependencies for RPM 4.16.
|
||||||
|
Loading…
Reference in New Issue
Block a user