Add fix for nbdkit test suite.
This commit is contained in:
parent
8c37651ac6
commit
4aff44eced
@ -1,7 +1,7 @@
|
|||||||
From 8b20bbd329c07941f3e4aa00e14c05ed27b25435 Mon Sep 17 00:00:00 2001
|
From 8b20bbd329c07941f3e4aa00e14c05ed27b25435 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 2 Mar 2021 22:20:49 +0000
|
Date: Tue, 2 Mar 2021 22:20:49 +0000
|
||||||
Subject: [PATCH 1/5] copy: Stable sort in tests.
|
Subject: [PATCH 1/6] copy: Stable sort in tests.
|
||||||
|
|
||||||
When running the tests in Koji they behaved differently from running
|
When running the tests in Koji they behaved differently from running
|
||||||
locally (under a UTF-8 locale). This turned out to be a difference in
|
locally (under a UTF-8 locale). This turned out to be a difference in
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From bae7c41a5126c56da4ee77bce39955036fca8b5f Mon Sep 17 00:00:00 2001
|
From bae7c41a5126c56da4ee77bce39955036fca8b5f Mon Sep 17 00:00:00 2001
|
||||||
From: Eric Blake <eblake@redhat.com>
|
From: Eric Blake <eblake@redhat.com>
|
||||||
Date: Tue, 2 Mar 2021 16:31:39 -0600
|
Date: Tue, 2 Mar 2021 16:31:39 -0600
|
||||||
Subject: [PATCH 2/5] copy: Nicer sort
|
Subject: [PATCH 2/6] copy: Nicer sort
|
||||||
|
|
||||||
Tell sort where the numbers live, so we can get columns in ascending
|
Tell sort where the numbers live, so we can get columns in ascending
|
||||||
numeric order. Improves 8b20bbd329.
|
numeric order. Improves 8b20bbd329.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 4e456ff6363580177ceffdad79b8fc1e8c7f35eb Mon Sep 17 00:00:00 2001
|
From 4e456ff6363580177ceffdad79b8fc1e8c7f35eb Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Wed, 3 Mar 2021 10:12:31 +0000
|
Date: Wed, 3 Mar 2021 10:12:31 +0000
|
||||||
Subject: [PATCH 3/5] Revert "copy: file-ops.c: Remove unneeded check"
|
Subject: [PATCH 3/6] Revert "copy: file-ops.c: Remove unneeded check"
|
||||||
|
|
||||||
This reverts commit 0f6e4f38bc440fc52c20a3a448ef031f806ec5e2.
|
This reverts commit 0f6e4f38bc440fc52c20a3a448ef031f806ec5e2.
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 94a78764d80b6dc41ff2ae8a0e5f1b35c2fd8e78 Mon Sep 17 00:00:00 2001
|
From 94a78764d80b6dc41ff2ae8a0e5f1b35c2fd8e78 Mon Sep 17 00:00:00 2001
|
||||||
From: Nir Soffer <nsoffer@redhat.com>
|
From: Nir Soffer <nsoffer@redhat.com>
|
||||||
Date: Sat, 27 Feb 2021 05:36:38 +0200
|
Date: Sat, 27 Feb 2021 05:36:38 +0200
|
||||||
Subject: [PATCH 4/5] copy: file-ops.c: Remove unneeded check
|
Subject: [PATCH 4/6] copy: file-ops.c: Remove unneeded check
|
||||||
|
|
||||||
This function is called only from page_cache_evict(), which already
|
This function is called only from page_cache_evict(), which already
|
||||||
check that we could map the cached pages. Add an assert to document this
|
check that we could map the cached pages. Add an assert to document this
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 107eb605cfb75238020332b5a5461d0e09d62bec Mon Sep 17 00:00:00 2001
|
From 107eb605cfb75238020332b5a5461d0e09d62bec Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Wed, 3 Mar 2021 12:51:51 +0100
|
Date: Wed, 3 Mar 2021 12:51:51 +0100
|
||||||
Subject: [PATCH 5/5] copy/file-ops.c: Fix page eviction when len < page_size.
|
Subject: [PATCH 5/6] copy/file-ops.c: Fix page eviction when len < page_size.
|
||||||
|
|
||||||
On Fedora ppc64le at the moment page size is 64K. When asked to evict
|
On Fedora ppc64le at the moment page size is 64K. When asked to evict
|
||||||
a range with length < 64K the length calculation wrapped around and it
|
a range with length < 64K the length calculation wrapped around and it
|
||||||
|
119
0006-info-Let-exit-status-reflect-any-failures-during-NBD.patch
Normal file
119
0006-info-Let-exit-status-reflect-any-failures-during-NBD.patch
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
From 64962a582c00828cc2d26d94b149840ab2402165 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Eric Blake <eblake@redhat.com>
|
||||||
|
Date: Thu, 4 Mar 2021 09:27:56 -0600
|
||||||
|
Subject: [PATCH 6/6] info: Let exit status reflect any failures during
|
||||||
|
NBD_OPT_INFO
|
||||||
|
|
||||||
|
It turns out that at least nbdkit's testsuite was relying on a
|
||||||
|
non-zero exit status from nbdinfo when purposefully attempting to get
|
||||||
|
info on an invalid export name. Printing as much information as
|
||||||
|
possible instead of going silent becaus of one error is good, but any
|
||||||
|
time we print to stderr, the exit status should reflect that.
|
||||||
|
|
||||||
|
Fixes: 5473e34fc1 (info: Don't kill --list early just because one opt_info fails)
|
||||||
|
Reported-by: Rich Jones <rjones@redhat.com>
|
||||||
|
---
|
||||||
|
info/nbdinfo.c | 25 +++++++++++++++----------
|
||||||
|
1 file changed, 15 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/info/nbdinfo.c b/info/nbdinfo.c
|
||||||
|
index 4b18ab2..3dfc463 100644
|
||||||
|
--- a/info/nbdinfo.c
|
||||||
|
+++ b/info/nbdinfo.c
|
||||||
|
@@ -58,9 +58,9 @@ DEFINE_VECTOR_TYPE (uint32_vector, uint32_t)
|
||||||
|
static int collect_context (void *opaque, const char *name);
|
||||||
|
static int collect_export (void *opaque, const char *name,
|
||||||
|
const char *desc);
|
||||||
|
-static void list_one_export (struct nbd_handle *nbd, const char *desc,
|
||||||
|
+static bool list_one_export (struct nbd_handle *nbd, const char *desc,
|
||||||
|
bool first, bool last);
|
||||||
|
-static void list_all_exports (struct nbd_handle *nbd1, const char *uri);
|
||||||
|
+static bool list_all_exports (struct nbd_handle *nbd1, const char *uri);
|
||||||
|
static void print_json_string (const char *);
|
||||||
|
static char *get_content (struct nbd_handle *, int64_t size);
|
||||||
|
static int extent_callback (void *user_data, const char *metacontext,
|
||||||
|
@@ -124,6 +124,7 @@ main (int argc, char *argv[])
|
||||||
|
int tls_negotiated;
|
||||||
|
char *output = NULL;
|
||||||
|
size_t output_len = 0;
|
||||||
|
+ bool list_okay = true;
|
||||||
|
|
||||||
|
progname = argv[0];
|
||||||
|
|
||||||
|
@@ -336,9 +337,9 @@ main (int argc, char *argv[])
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!list_all)
|
||||||
|
- list_one_export (nbd, NULL, true, true);
|
||||||
|
+ list_okay = list_one_export (nbd, NULL, true, true);
|
||||||
|
else
|
||||||
|
- list_all_exports (nbd, argv[optind]);
|
||||||
|
+ list_okay = list_all_exports (nbd, argv[optind]);
|
||||||
|
|
||||||
|
if (json_output)
|
||||||
|
fprintf (fp, "}\n");
|
||||||
|
@@ -365,7 +366,7 @@ main (int argc, char *argv[])
|
||||||
|
exit (EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
- exit (EXIT_SUCCESS);
|
||||||
|
+ exit (list_okay ? EXIT_SUCCESS : EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
@@ -398,7 +399,7 @@ collect_export (void *opaque, const char *name, const char *desc)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static void
|
||||||
|
+static bool
|
||||||
|
list_one_export (struct nbd_handle *nbd, const char *desc,
|
||||||
|
bool first, bool last)
|
||||||
|
{
|
||||||
|
@@ -424,7 +425,7 @@ list_one_export (struct nbd_handle *nbd, const char *desc,
|
||||||
|
nbd_opt_go (nbd) == -1) {
|
||||||
|
fprintf (stderr, "%s: %s: %s\n", progname, nbd_get_export_name (nbd),
|
||||||
|
nbd_get_error ());
|
||||||
|
- return;
|
||||||
|
+ return false;
|
||||||
|
}
|
||||||
|
size = nbd_get_size (nbd);
|
||||||
|
if (size == -1) {
|
||||||
|
@@ -599,12 +600,14 @@ list_one_export (struct nbd_handle *nbd, const char *desc,
|
||||||
|
free (content);
|
||||||
|
free (export_name);
|
||||||
|
free (export_desc);
|
||||||
|
+ return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static void
|
||||||
|
+static bool
|
||||||
|
list_all_exports (struct nbd_handle *nbd1, const char *uri)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
+ bool list_okay = true;
|
||||||
|
|
||||||
|
if (export_list.size == 0 && json_output)
|
||||||
|
fprintf (fp, "\"exports\": []\n");
|
||||||
|
@@ -639,14 +642,16 @@ list_all_exports (struct nbd_handle *nbd1, const char *uri)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* List the metadata of this export. */
|
||||||
|
- list_one_export (nbd2, export_list.ptr[i].desc, i == 0,
|
||||||
|
- i + 1 == export_list.size);
|
||||||
|
+ if (!list_one_export (nbd2, export_list.ptr[i].desc, i == 0,
|
||||||
|
+ i + 1 == export_list.size))
|
||||||
|
+ list_okay = false;
|
||||||
|
|
||||||
|
if (probe_content) {
|
||||||
|
nbd_shutdown (nbd2, 0);
|
||||||
|
nbd_close (nbd2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ return list_okay;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
--
|
||||||
|
2.29.0.rc2
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
Name: libnbd
|
Name: libnbd
|
||||||
Version: 1.7.3
|
Version: 1.7.3
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: NBD client library in userspace
|
Summary: NBD client library in userspace
|
||||||
|
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
@ -32,6 +32,9 @@ Patch0003: 0003-Revert-copy-file-ops.c-Remove-unneeded-check.patch
|
|||||||
Patch0004: 0004-copy-file-ops.c-Remove-unneeded-check.patch
|
Patch0004: 0004-copy-file-ops.c-Remove-unneeded-check.patch
|
||||||
Patch0005: 0005-copy-file-ops.c-Fix-page-eviction-when-len-page_size.patch
|
Patch0005: 0005-copy-file-ops.c-Fix-page-eviction-when-len-page_size.patch
|
||||||
|
|
||||||
|
# Upstream patch to fix nbdkit test suite.
|
||||||
|
Patch0006: 0006-info-Let-exit-status-reflect-any-failures-during-NBD.patch
|
||||||
|
|
||||||
%if 0%{patches_touch_autotools}
|
%if 0%{patches_touch_autotools}
|
||||||
BuildRequires: autoconf, automake, libtool
|
BuildRequires: autoconf, automake, libtool
|
||||||
%endif
|
%endif
|
||||||
@ -308,6 +311,9 @@ make %{?_smp_mflags} check || {
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Mar 4 2021 Richard W.M. Jones <rjones@redhat.com> - 1.7.3-2
|
||||||
|
- Add fix for nbdkit test suite.
|
||||||
|
|
||||||
* Tue Mar 2 2021 Richard W.M. Jones <rjones@redhat.com> - 1.7.3-1
|
* Tue Mar 2 2021 Richard W.M. Jones <rjones@redhat.com> - 1.7.3-1
|
||||||
- New upstream version 1.7.3.
|
- New upstream version 1.7.3.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user