* Fri May 03 2024 Tomas Bzatek <tbzatek@redhat.com> - 1.9-1
- Upstream v1.9 release Resolves: RHEL-35387
This commit is contained in:
parent
f41e428fda
commit
db9f0d1804
1
.gitignore
vendored
1
.gitignore
vendored
@ -12,3 +12,4 @@
|
|||||||
/libnvme-1.5.tar.gz
|
/libnvme-1.5.tar.gz
|
||||||
/libnvme-1.6.tar.gz
|
/libnvme-1.6.tar.gz
|
||||||
/libnvme-1.7.1.tar.gz
|
/libnvme-1.7.1.tar.gz
|
||||||
|
/libnvme-1.9.tar.gz
|
||||||
|
40
libnvme-1.10-linux-Fix-uninitialized-variables.patch
Normal file
40
libnvme-1.10-linux-Fix-uninitialized-variables.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
From 91f7671ca54a200d652b9b9f34915325313511f5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Bzatek <tbzatek@redhat.com>
|
||||||
|
Date: Fri, 3 May 2024 17:19:39 +0200
|
||||||
|
Subject: [PATCH] linux: Fix uninitialized variables
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
In file included from ../src/nvme/linux.c:40:
|
||||||
|
In function ‘freep’,
|
||||||
|
inlined from ‘nvme_get_telemetry_log’ at ../src/nvme/linux.c:169:23:
|
||||||
|
../src/nvme/cleanup.h:24:9: warning: ‘log’ may be used uninitialized [-Wmaybe-uninitialized]
|
||||||
|
24 | free(*(void **)p);
|
||||||
|
| ^~~~~~~~~~~~~~~~~
|
||||||
|
../src/nvme/linux.c: In function ‘nvme_get_telemetry_log’:
|
||||||
|
../src/nvme/linux.c:169:30: note: ‘log’ was declared here
|
||||||
|
169 | _cleanup_free_ void *log;
|
||||||
|
| ^~~
|
||||||
|
|
||||||
|
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
||||||
|
---
|
||||||
|
src/nvme/linux.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/nvme/linux.c b/src/nvme/linux.c
|
||||||
|
index 25196fd5..35976011 100644
|
||||||
|
--- a/src/nvme/linux.c
|
||||||
|
+++ b/src/nvme/linux.c
|
||||||
|
@@ -166,7 +166,7 @@ int nvme_get_telemetry_log(int fd, bool create, bool ctrl, bool rae, size_t max_
|
||||||
|
|
||||||
|
struct nvme_telemetry_log *telem;
|
||||||
|
enum nvme_cmd_get_log_lid lid;
|
||||||
|
- _cleanup_free_ void *log;
|
||||||
|
+ _cleanup_free_ void *log = NULL;
|
||||||
|
void *tmp;
|
||||||
|
int err;
|
||||||
|
size_t dalb;
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
@ -1,37 +0,0 @@
|
|||||||
From 74324a4120a44120556af41eb9480c5b2492d1fb Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
Date: Fri, 9 Feb 2024 17:38:45 +0100
|
|
||||||
Subject: [PATCH] linux: Explicitly initialize auto-cleanup variables
|
|
||||||
|
|
||||||
gcc complains about potentially uninitialized variables.
|
|
||||||
|
|
||||||
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
---
|
|
||||||
src/nvme/linux.c | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/nvme/linux.c b/src/nvme/linux.c
|
|
||||||
index f0723193..e29d9e72 100644
|
|
||||||
--- a/src/nvme/linux.c
|
|
||||||
+++ b/src/nvme/linux.c
|
|
||||||
@@ -725,7 +725,7 @@ int nvme_gen_dhchap_key(char *hostnqn, enum nvme_hmac_alg hmac,
|
|
||||||
unsigned char *key)
|
|
||||||
{
|
|
||||||
const char hmac_seed[] = "NVMe-over-Fabrics";
|
|
||||||
- _cleanup_hmac_ctx_ HMAC_CTX *hmac_ctx;
|
|
||||||
+ _cleanup_hmac_ctx_ HMAC_CTX *hmac_ctx = NULL;
|
|
||||||
const EVP_MD *md;
|
|
||||||
|
|
||||||
ENGINE_load_builtin_engines();
|
|
||||||
@@ -881,7 +881,7 @@ int nvme_gen_dhchap_key(char *hostnqn, enum nvme_hmac_alg hmac,
|
|
||||||
{
|
|
||||||
const char hmac_seed[] = "NVMe-over-Fabrics";
|
|
||||||
OSSL_PARAM params[2], *p = params;
|
|
||||||
- _cleanup_ossl_lib_ctx_ OSSL_LIB_CTX *lib_ctx;
|
|
||||||
+ _cleanup_ossl_lib_ctx_ OSSL_LIB_CTX *lib_ctx = NULL;
|
|
||||||
_cleanup_evp_mac_ctx_ EVP_MAC_CTX *mac_ctx = NULL;
|
|
||||||
_cleanup_evp_mac_ EVP_MAC *mac = NULL;
|
|
||||||
char *progq = NULL;
|
|
||||||
--
|
|
||||||
2.43.0
|
|
||||||
|
|
@ -1,222 +0,0 @@
|
|||||||
From ca3193cf4d2a756512007d2c23202d6844e1840d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
Date: Fri, 29 Dec 2023 18:37:41 +0100
|
|
||||||
Subject: [PATCH 1/4] fabrics: Explicitly initialize auto-cleanup variables
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
gcc complains about potentially uninitialized variables used
|
|
||||||
in the cleanup function even though such scenario is unlikely
|
|
||||||
to happen. Still, an explicit initializer makes the warnings
|
|
||||||
go away.
|
|
||||||
|
|
||||||
E.g.
|
|
||||||
|
|
||||||
../src/nvme/fabrics.c: In function ‘nvmf_hostnqn_generate’:
|
|
||||||
../src/nvme/fabrics.c:1297:30: note: ‘stream’ was declared here
|
|
||||||
1297 | _cleanup_file_ FILE *stream;
|
|
||||||
| ^~~~~~
|
|
||||||
In function ‘cleanup_fd’,
|
|
||||||
inlined from ‘uuid_from_device_tree’ at ../src/nvme/fabrics.c:1189:19,
|
|
||||||
inlined from ‘nvmf_hostnqn_generate’ at ../src/nvme/fabrics.c:1350:9:
|
|
||||||
../src/nvme/cleanup.h:37:17: warning: ‘f’ may be used uninitialized [-Wmaybe-uninitialized]
|
|
||||||
37 | close(*fd);
|
|
||||||
| ^~~~~~~~~~
|
|
||||||
|
|
||||||
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
---
|
|
||||||
src/nvme/fabrics.c | 12 ++++++------
|
|
||||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/nvme/fabrics.c b/src/nvme/fabrics.c
|
|
||||||
index 4e042d84..20142116 100644
|
|
||||||
--- a/src/nvme/fabrics.c
|
|
||||||
+++ b/src/nvme/fabrics.c
|
|
||||||
@@ -740,7 +740,7 @@ static int __nvmf_supported_options(nvme_root_t r)
|
|
||||||
|
|
||||||
static int __nvmf_add_ctrl(nvme_root_t r, const char *argstr)
|
|
||||||
{
|
|
||||||
- _cleanup_fd_ int fd;
|
|
||||||
+ _cleanup_fd_ int fd = -1;
|
|
||||||
int ret, len = strlen(argstr);
|
|
||||||
char buf[0x1000], *options, *p;
|
|
||||||
|
|
||||||
@@ -1186,7 +1186,7 @@ struct nvmf_discovery_log *nvmf_get_discovery_wargs(struct nvme_get_discovery_ar
|
|
||||||
static int uuid_from_device_tree(char *system_uuid)
|
|
||||||
{
|
|
||||||
ssize_t len;
|
|
||||||
- _cleanup_fd_ int f;
|
|
||||||
+ _cleanup_fd_ int f = -1;
|
|
||||||
|
|
||||||
f = open(PATH_UUID_IBM, O_RDONLY);
|
|
||||||
if (f < 0)
|
|
||||||
@@ -1230,7 +1230,7 @@ static bool is_dmi_uuid_valid(const char *buf, size_t len)
|
|
||||||
static int uuid_from_dmi_entries(char *system_uuid)
|
|
||||||
{
|
|
||||||
int f;
|
|
||||||
- _cleanup_dir_ DIR *d;
|
|
||||||
+ _cleanup_dir_ DIR *d = NULL;
|
|
||||||
struct dirent *de;
|
|
||||||
char buf[512] = {0};
|
|
||||||
|
|
||||||
@@ -1294,7 +1294,7 @@ static int uuid_from_dmi_entries(char *system_uuid)
|
|
||||||
*/
|
|
||||||
static int uuid_from_product_uuid(char *system_uuid)
|
|
||||||
{
|
|
||||||
- _cleanup_file_ FILE *stream;
|
|
||||||
+ _cleanup_file_ FILE *stream = NULL;
|
|
||||||
ssize_t nread;
|
|
||||||
_cleanup_free_ char *line = NULL;
|
|
||||||
size_t len = 0;
|
|
||||||
@@ -1364,7 +1364,7 @@ char *nvmf_hostnqn_generate()
|
|
||||||
static char *nvmf_read_file(const char *f, int len)
|
|
||||||
{
|
|
||||||
char buf[len];
|
|
||||||
- _cleanup_fd_ int fd;
|
|
||||||
+ _cleanup_fd_ int fd = -1;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
fd = open(f, O_RDONLY);
|
|
||||||
@@ -1637,7 +1637,7 @@ static const char *dctype_str[] = {
|
|
||||||
*/
|
|
||||||
static int nvme_fetch_cntrltype_dctype_from_id(nvme_ctrl_t c)
|
|
||||||
{
|
|
||||||
- _cleanup_free_ struct nvme_id_ctrl *id;
|
|
||||||
+ _cleanup_free_ struct nvme_id_ctrl *id = NULL;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
id = __nvme_alloc(sizeof(*id));
|
|
||||||
|
|
||||||
From fdb6415f5e9f7a18380633a1c797aca00d9daccb Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
Date: Fri, 29 Dec 2023 18:49:25 +0100
|
|
||||||
Subject: [PATCH 2/4] linux: Explicitly initialize auto-cleanup variables
|
|
||||||
|
|
||||||
gcc complains about potentially uninitialized variables.
|
|
||||||
|
|
||||||
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
---
|
|
||||||
src/nvme/linux.c | 8 ++++----
|
|
||||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/nvme/linux.c b/src/nvme/linux.c
|
|
||||||
index 163086ea..074c27e0 100644
|
|
||||||
--- a/src/nvme/linux.c
|
|
||||||
+++ b/src/nvme/linux.c
|
|
||||||
@@ -124,7 +124,7 @@ int nvme_fw_download_seq(int fd, __u32 size, __u32 xfer, __u32 offset,
|
|
||||||
|
|
||||||
int nvme_get_telemetry_max(int fd, enum nvme_telemetry_da *da, size_t *data_tx)
|
|
||||||
{
|
|
||||||
- _cleanup_free_ struct nvme_id_ctrl *id_ctrl;
|
|
||||||
+ _cleanup_free_ struct nvme_id_ctrl *id_ctrl = NULL;
|
|
||||||
int err;
|
|
||||||
|
|
||||||
id_ctrl = __nvme_alloc(sizeof(*id_ctrl));
|
|
||||||
@@ -385,7 +385,7 @@ int nvme_namespace_detach_ctrls(int fd, __u32 nsid, __u16 num_ctrls,
|
|
||||||
|
|
||||||
int nvme_get_ana_log_len(int fd, size_t *analen)
|
|
||||||
{
|
|
||||||
- _cleanup_free_ struct nvme_id_ctrl *ctrl;
|
|
||||||
+ _cleanup_free_ struct nvme_id_ctrl *ctrl = NULL;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
ctrl = __nvme_alloc(sizeof(*ctrl));
|
|
||||||
@@ -405,7 +405,7 @@ int nvme_get_ana_log_len(int fd, size_t *analen)
|
|
||||||
|
|
||||||
int nvme_get_logical_block_size(int fd, __u32 nsid, int *blksize)
|
|
||||||
{
|
|
||||||
- _cleanup_free_ struct nvme_id_ns *ns;
|
|
||||||
+ _cleanup_free_ struct nvme_id_ns *ns = NULL;
|
|
||||||
__u8 flbas;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
@@ -426,7 +426,7 @@ int nvme_get_logical_block_size(int fd, __u32 nsid, int *blksize)
|
|
||||||
|
|
||||||
static int __nvme_set_attr(const char *path, const char *value)
|
|
||||||
{
|
|
||||||
- _cleanup_fd_ int fd;
|
|
||||||
+ _cleanup_fd_ int fd = -1;
|
|
||||||
|
|
||||||
fd = open(path, O_WRONLY);
|
|
||||||
if (fd < 0) {
|
|
||||||
|
|
||||||
From 533edeb32027c43895c878149117173bba785dff Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
Date: Fri, 29 Dec 2023 18:49:36 +0100
|
|
||||||
Subject: [PATCH 3/4] tree: Explicitly initialize auto-cleanup variables
|
|
||||||
|
|
||||||
gcc complains about potentially uninitialized variables.
|
|
||||||
|
|
||||||
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
---
|
|
||||||
src/nvme/tree.c | 5 +++--
|
|
||||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/nvme/tree.c b/src/nvme/tree.c
|
|
||||||
index 07a3c532..97bd3ef4 100644
|
|
||||||
--- a/src/nvme/tree.c
|
|
||||||
+++ b/src/nvme/tree.c
|
|
||||||
@@ -122,7 +122,8 @@ static void cleanup_dirents(struct dirents *ents)
|
|
||||||
nvme_host_t nvme_default_host(nvme_root_t r)
|
|
||||||
{
|
|
||||||
struct nvme_host *h;
|
|
||||||
- _cleanup_free_ char *hostnqn, *hostid;
|
|
||||||
+ _cleanup_free_ char *hostnqn = NULL;
|
|
||||||
+ _cleanup_free_ char *hostid = NULL;
|
|
||||||
|
|
||||||
hostnqn = nvmf_hostnqn_from_file();
|
|
||||||
if (!hostnqn)
|
|
||||||
@@ -1853,7 +1854,7 @@ static nvme_ctrl_t nvme_ctrl_alloc(nvme_root_t r, nvme_subsystem_t s,
|
|
||||||
nvme_ctrl_t c, p;
|
|
||||||
_cleanup_free_ char *addr = NULL, *address = NULL;
|
|
||||||
char *a, *e;
|
|
||||||
- _cleanup_free_ char *transport;
|
|
||||||
+ _cleanup_free_ char *transport = NULL;
|
|
||||||
char *traddr = NULL, *trsvcid = NULL;
|
|
||||||
char *host_traddr = NULL, *host_iface = NULL;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
From aa072f89c8a163780250fa1a2dd507de6b45ab49 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
Date: Fri, 29 Dec 2023 18:49:44 +0100
|
|
||||||
Subject: [PATCH 4/4] util: Explicitly initialize auto-cleanup variables
|
|
||||||
|
|
||||||
gcc complains about potentially uninitialized variables.
|
|
||||||
|
|
||||||
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
---
|
|
||||||
src/nvme/util.c | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/nvme/util.c b/src/nvme/util.c
|
|
||||||
index 45512ff9..3861c1ab 100644
|
|
||||||
--- a/src/nvme/util.c
|
|
||||||
+++ b/src/nvme/util.c
|
|
||||||
@@ -757,7 +757,7 @@ char *kv_keymatch(const char *kv, const char *key)
|
|
||||||
static size_t read_file(const char * fname, char *buffer, size_t *bufsz)
|
|
||||||
{
|
|
||||||
char *p;
|
|
||||||
- _cleanup_file_ FILE *file;
|
|
||||||
+ _cleanup_file_ FILE *file = NULL;
|
|
||||||
size_t len;
|
|
||||||
|
|
||||||
file = fopen(fname, "re");
|
|
||||||
@@ -806,7 +806,7 @@ size_t get_entity_name(char *buffer, size_t bufsz)
|
|
||||||
|
|
||||||
size_t get_entity_version(char *buffer, size_t bufsz)
|
|
||||||
{
|
|
||||||
- _cleanup_file_ FILE *file;
|
|
||||||
+ _cleanup_file_ FILE *file = NULL;
|
|
||||||
size_t num_bytes = 0;
|
|
||||||
|
|
||||||
/* /proc/sys/kernel/ostype typically contains the string "Linux" */
|
|
||||||
@@ -928,7 +928,7 @@ int nvme_uuid_from_string(const char *str, unsigned char uuid[NVME_UUID_LEN])
|
|
||||||
|
|
||||||
int nvme_uuid_random(unsigned char uuid[NVME_UUID_LEN])
|
|
||||||
{
|
|
||||||
- _cleanup_fd_ int f;
|
|
||||||
+ _cleanup_fd_ int f = -1;
|
|
||||||
ssize_t n;
|
|
||||||
|
|
||||||
f = open("/dev/urandom", O_RDONLY);
|
|
@ -1,279 +0,0 @@
|
|||||||
From 6761c7d71a3fa7c6d5c718fafb3423f9e51ab261 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
Date: Fri, 5 Jan 2024 14:42:11 +0100
|
|
||||||
Subject: [PATCH 1/5] nbft: Fix (struct nbft_info_subsystem_ns).num_hfis
|
|
||||||
off-by-one
|
|
||||||
|
|
||||||
The num_hfis field only reflected the number of Secondary HFI
|
|
||||||
Associations, resulting in the last parsed HFI being ignored
|
|
||||||
by users (nvme-cli).
|
|
||||||
|
|
||||||
According to the NVM Express Boot Specification, Revision 1.0,
|
|
||||||
the Primary HFI Descriptor Index in the Subsystem Namespace
|
|
||||||
(SSNS) Descriptor contains this note:
|
|
||||||
|
|
||||||
"If multiple HFIs are associated with this record, subsequent
|
|
||||||
interfaces should be populated in the Secondary HFI
|
|
||||||
Associations field."
|
|
||||||
|
|
||||||
As both the primary and secondary HFIs are parsed into a single
|
|
||||||
array, it makes sense to reflect the proper number of elements.
|
|
||||||
|
|
||||||
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
---
|
|
||||||
src/nvme/nbft.c | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/src/nvme/nbft.c b/src/nvme/nbft.c
|
|
||||||
index 2c870880..06632323 100644
|
|
||||||
--- a/src/nvme/nbft.c
|
|
||||||
+++ b/src/nvme/nbft.c
|
|
||||||
@@ -274,6 +274,7 @@ static int read_ssns(struct nbft_info *nbft,
|
|
||||||
ret = -EINVAL;
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
+ ssns->num_hfis = 1;
|
|
||||||
for (i = 0; i < le16_to_cpu(raw_ssns->secondary_hfi_assoc_obj.length); i++) {
|
|
||||||
ssns->hfis[i + 1] = hfi_from_index(nbft, ss_hfi_indexes[i]);
|
|
||||||
if (ss_hfi_indexes[i] && !ssns->hfis[i + 1])
|
|
||||||
|
|
||||||
From fc919080448a3b9cdb1eaa0e65f17d5b45f9e58d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Martin Wilck <mwilck@suse.com>
|
|
||||||
Date: Thu, 11 Jan 2024 11:02:11 +0100
|
|
||||||
Subject: [PATCH 2/5] nbft: avoid duplicate entries in ssns->hfis
|
|
||||||
|
|
||||||
The NVMe boot specification does not disallow listing the primary
|
|
||||||
HFI index again in the secondary HFI list, or listing the same
|
|
||||||
index multiple times in the secondary HFI list. But such duplicate
|
|
||||||
entries aren't helpful for consumers of this data. In the worst
|
|
||||||
case, they might lead to confusion and misconfiguration.
|
|
||||||
Suppress them.
|
|
||||||
|
|
||||||
Signed-off-by: Martin Wilck <mwilck@suse.com>
|
|
||||||
---
|
|
||||||
src/nvme/nbft.c | 21 +++++++++++++++++++++
|
|
||||||
1 file changed, 21 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/src/nvme/nbft.c b/src/nvme/nbft.c
|
|
||||||
index 06632323..f2ffc21e 100644
|
|
||||||
--- a/src/nvme/nbft.c
|
|
||||||
+++ b/src/nvme/nbft.c
|
|
||||||
@@ -276,6 +276,27 @@ static int read_ssns(struct nbft_info *nbft,
|
|
||||||
}
|
|
||||||
ssns->num_hfis = 1;
|
|
||||||
for (i = 0; i < le16_to_cpu(raw_ssns->secondary_hfi_assoc_obj.length); i++) {
|
|
||||||
+ bool duplicate = false;
|
|
||||||
+ int j;
|
|
||||||
+
|
|
||||||
+ for (j = 0; j < i; j++) {
|
|
||||||
+ if (ss_hfi_indexes[i] == ss_hfi_indexes[j]) {
|
|
||||||
+ duplicate = true;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!duplicate &&
|
|
||||||
+ ss_hfi_indexes[i] == raw_ssns->primary_hfi_desc_index)
|
|
||||||
+ duplicate = true;
|
|
||||||
+
|
|
||||||
+ if (duplicate) {
|
|
||||||
+ nvme_msg(NULL, LOG_DEBUG,
|
|
||||||
+ "file %s: SSNS %d skipping duplicate HFI index %d\n",
|
|
||||||
+ nbft->filename, ssns->index, ss_hfi_indexes[i]);
|
|
||||||
+ continue;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
ssns->hfis[i + 1] = hfi_from_index(nbft, ss_hfi_indexes[i]);
|
|
||||||
if (ss_hfi_indexes[i] && !ssns->hfis[i + 1])
|
|
||||||
nvme_msg(NULL, LOG_DEBUG,
|
|
||||||
|
|
||||||
From 68afe6d9055025aa54c351bb131c30e0d66e6976 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
Date: Fri, 5 Jan 2024 14:49:15 +0100
|
|
||||||
Subject: [PATCH 3/5] tests: Fix diffs output for duplicate HFI entries
|
|
||||||
|
|
||||||
With commit "nbft: avoid duplicate entries in ssns->hfis" applied,
|
|
||||||
nbft-dump will not see any duplicate HFI indices any more.
|
|
||||||
Fix the reference output for generating the diffs.
|
|
||||||
|
|
||||||
Signed-off-by: Martin Wilck <mwilck@suse.com>
|
|
||||||
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
---
|
|
||||||
test/nbft/diffs/NBFT-auto-ipv6 | 1 -
|
|
||||||
test/nbft/diffs/NBFT-dhcp-ipv4 | 1 -
|
|
||||||
test/nbft/diffs/NBFT-dhcp-ipv6 | 1 -
|
|
||||||
test/nbft/diffs/NBFT-rhpoc | 1 -
|
|
||||||
test/nbft/diffs/NBFT-static-ipv4 | 1 -
|
|
||||||
test/nbft/diffs/NBFT-static-ipv4-discovery | 1 -
|
|
||||||
test/nbft/diffs/NBFT-static-ipv6 | 1 -
|
|
||||||
7 files changed, 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/test/nbft/diffs/NBFT-auto-ipv6 b/test/nbft/diffs/NBFT-auto-ipv6
|
|
||||||
index 32a8b607..83ee6430 100644
|
|
||||||
--- a/test/nbft/diffs/NBFT-auto-ipv6
|
|
||||||
+++ b/test/nbft/diffs/NBFT-auto-ipv6
|
|
||||||
@@ -23,7 +23,6 @@ hfi_list[0]->tcp_info.dhcp_override=0
|
|
||||||
subsystem_ns_list[0]->index=1
|
|
||||||
subsystem_ns_list[0]->num_hfis=1
|
|
||||||
subsystem_ns_list[0]->hfis[0]->index=1
|
|
||||||
-subsystem_ns_list[0]->hfis[1]->index=1
|
|
||||||
subsystem_ns_list[0]->transport=tcp
|
|
||||||
subsystem_ns_list[0]->traddr=fd09:9a46:b5c1:1ff:5054:ff:fefd:9e66
|
|
||||||
subsystem_ns_list[0]->trsvcid=4420
|
|
||||||
diff --git a/test/nbft/diffs/NBFT-dhcp-ipv4 b/test/nbft/diffs/NBFT-dhcp-ipv4
|
|
||||||
index cb280d9a..067079d9 100644
|
|
||||||
--- a/test/nbft/diffs/NBFT-dhcp-ipv4
|
|
||||||
+++ b/test/nbft/diffs/NBFT-dhcp-ipv4
|
|
||||||
@@ -28,7 +28,6 @@ subsystem_ns_list[0]->index=1
|
|
||||||
subsystem_ns_list[0]->discovery->index=1
|
|
||||||
subsystem_ns_list[0]->num_hfis=1
|
|
||||||
subsystem_ns_list[0]->hfis[0]->index=1
|
|
||||||
-subsystem_ns_list[0]->hfis[1]->index=1
|
|
||||||
subsystem_ns_list[0]->transport=tcp
|
|
||||||
subsystem_ns_list[0]->traddr=192.168.49.10
|
|
||||||
subsystem_ns_list[0]->trsvcid=4420
|
|
||||||
diff --git a/test/nbft/diffs/NBFT-dhcp-ipv6 b/test/nbft/diffs/NBFT-dhcp-ipv6
|
|
||||||
index b94cc394..11c974f6 100644
|
|
||||||
--- a/test/nbft/diffs/NBFT-dhcp-ipv6
|
|
||||||
+++ b/test/nbft/diffs/NBFT-dhcp-ipv6
|
|
||||||
@@ -23,7 +23,6 @@ hfi_list[0]->tcp_info.dhcp_override=1
|
|
||||||
subsystem_ns_list[0]->index=1
|
|
||||||
subsystem_ns_list[0]->num_hfis=1
|
|
||||||
subsystem_ns_list[0]->hfis[0]->index=1
|
|
||||||
-subsystem_ns_list[0]->hfis[1]->index=1
|
|
||||||
subsystem_ns_list[0]->transport=tcp
|
|
||||||
subsystem_ns_list[0]->traddr=fddf:d:f:49::10
|
|
||||||
subsystem_ns_list[0]->trsvcid=4420
|
|
||||||
diff --git a/test/nbft/diffs/NBFT-rhpoc b/test/nbft/diffs/NBFT-rhpoc
|
|
||||||
index d4b4ad84..d849b6e1 100644
|
|
||||||
--- a/test/nbft/diffs/NBFT-rhpoc
|
|
||||||
+++ b/test/nbft/diffs/NBFT-rhpoc
|
|
||||||
@@ -23,7 +23,6 @@ hfi_list[0]->tcp_info.dhcp_override=0
|
|
||||||
subsystem_ns_list[0]->index=1
|
|
||||||
subsystem_ns_list[0]->num_hfis=1
|
|
||||||
subsystem_ns_list[0]->hfis[0]->index=1
|
|
||||||
-subsystem_ns_list[0]->hfis[1]->index=1
|
|
||||||
subsystem_ns_list[0]->transport=tcp
|
|
||||||
subsystem_ns_list[0]->traddr=192.168.101.20
|
|
||||||
subsystem_ns_list[0]->trsvcid=4420
|
|
||||||
diff --git a/test/nbft/diffs/NBFT-static-ipv4 b/test/nbft/diffs/NBFT-static-ipv4
|
|
||||||
index 715b30d2..a6f38597 100644
|
|
||||||
--- a/test/nbft/diffs/NBFT-static-ipv4
|
|
||||||
+++ b/test/nbft/diffs/NBFT-static-ipv4
|
|
||||||
@@ -23,7 +23,6 @@ hfi_list[0]->tcp_info.dhcp_override=0
|
|
||||||
subsystem_ns_list[0]->index=1
|
|
||||||
subsystem_ns_list[0]->num_hfis=1
|
|
||||||
subsystem_ns_list[0]->hfis[0]->index=1
|
|
||||||
-subsystem_ns_list[0]->hfis[1]->index=1
|
|
||||||
subsystem_ns_list[0]->transport=tcp
|
|
||||||
subsystem_ns_list[0]->traddr=192.168.49.10
|
|
||||||
subsystem_ns_list[0]->trsvcid=4420
|
|
||||||
diff --git a/test/nbft/diffs/NBFT-static-ipv4-discovery b/test/nbft/diffs/NBFT-static-ipv4-discovery
|
|
||||||
index 67881b6c..5bf0e46f 100644
|
|
||||||
--- a/test/nbft/diffs/NBFT-static-ipv4-discovery
|
|
||||||
+++ b/test/nbft/diffs/NBFT-static-ipv4-discovery
|
|
||||||
@@ -28,7 +28,6 @@ subsystem_ns_list[0]->index=1
|
|
||||||
subsystem_ns_list[0]->discovery->index=1
|
|
||||||
subsystem_ns_list[0]->num_hfis=1
|
|
||||||
subsystem_ns_list[0]->hfis[0]->index=1
|
|
||||||
-subsystem_ns_list[0]->hfis[1]->index=1
|
|
||||||
subsystem_ns_list[0]->transport=tcp
|
|
||||||
subsystem_ns_list[0]->traddr=192.168.49.10
|
|
||||||
subsystem_ns_list[0]->trsvcid=4420
|
|
||||||
diff --git a/test/nbft/diffs/NBFT-static-ipv6 b/test/nbft/diffs/NBFT-static-ipv6
|
|
||||||
index a5b02c1d..c6ad844d 100644
|
|
||||||
--- a/test/nbft/diffs/NBFT-static-ipv6
|
|
||||||
+++ b/test/nbft/diffs/NBFT-static-ipv6
|
|
||||||
@@ -23,7 +23,6 @@ hfi_list[0]->tcp_info.dhcp_override=0
|
|
||||||
subsystem_ns_list[0]->index=1
|
|
||||||
subsystem_ns_list[0]->num_hfis=1
|
|
||||||
subsystem_ns_list[0]->hfis[0]->index=1
|
|
||||||
-subsystem_ns_list[0]->hfis[1]->index=1
|
|
||||||
subsystem_ns_list[0]->transport=tcp
|
|
||||||
subsystem_ns_list[0]->traddr=fd09:9a46:b5c1:1fe::13f
|
|
||||||
subsystem_ns_list[0]->trsvcid=4420
|
|
||||||
|
|
||||||
From 0bc1985b3e78383cd842968e2adc16d019e784f1 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
Date: Fri, 5 Jan 2024 14:53:28 +0100
|
|
||||||
Subject: [PATCH 4/5] tests: Add sample NBFT table from Dell PowerEdge R760
|
|
||||||
|
|
||||||
Covered by the Python tests already, let's include this
|
|
||||||
table in the other NBFT parser tests (which are all
|
|
||||||
QEMU dumps).
|
|
||||||
|
|
||||||
Signed-off-by: Tomas Bzatek <tbzatek@redhat.com>
|
|
||||||
---
|
|
||||||
test/nbft/diffs/NBFT-Dell.PowerEdge.R760 | 60 +++++++++++++++++++++++
|
|
||||||
test/nbft/meson.build | 1 +
|
|
||||||
test/nbft/tables/NBFT-Dell.PowerEdge.R760 | 1 +
|
|
||||||
3 files changed, 62 insertions(+)
|
|
||||||
create mode 100644 test/nbft/diffs/NBFT-Dell.PowerEdge.R760
|
|
||||||
create mode 120000 test/nbft/tables/NBFT-Dell.PowerEdge.R760
|
|
||||||
|
|
||||||
diff --git a/test/nbft/diffs/NBFT-Dell.PowerEdge.R760 b/test/nbft/diffs/NBFT-Dell.PowerEdge.R760
|
|
||||||
new file mode 100644
|
|
||||||
index 00000000..d7fab3f2
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/test/nbft/diffs/NBFT-Dell.PowerEdge.R760
|
|
||||||
@@ -0,0 +1,60 @@
|
|
||||||
+raw_nbft_size=1017
|
|
||||||
+host.id=44454c4c34010368038b2c04f313233
|
|
||||||
+host.nqn=nqn.1988-11.com.dell:PowerEdge.R760.1234567
|
|
||||||
+host.host_id_configured=1
|
|
||||||
+host.host_nqn_configured=1
|
|
||||||
+host.primary=0
|
|
||||||
+hfi_list[0]->index=1
|
|
||||||
+hfi_list[0]->transport=tcp
|
|
||||||
+hfi_list[0]->tcp_info.pci_sbdf=16384
|
|
||||||
+hfi_list[0]->tcp_info.mac_addr=b02628e87ce
|
|
||||||
+hfi_list[0]->tcp_info.vlan=0
|
|
||||||
+hfi_list[0]->tcp_info.ip_origin=82
|
|
||||||
+hfi_list[0]->tcp_info.ipaddr=100.71.245.232
|
|
||||||
+hfi_list[0]->tcp_info.subnet_mask_prefix=24
|
|
||||||
+hfi_list[0]->tcp_info.gateway_ipaddr=100.71.245.254
|
|
||||||
+hfi_list[0]->tcp_info.route_metric=500
|
|
||||||
+hfi_list[0]->tcp_info.primary_dns_ipaddr=100.64.0.5
|
|
||||||
+hfi_list[0]->tcp_info.secondary_dns_ipaddr=100.64.0.6
|
|
||||||
+hfi_list[0]->tcp_info.dhcp_server_ipaddr=100.71.245.254
|
|
||||||
+hfi_list[0]->tcp_info.host_name=(null)
|
|
||||||
+hfi_list[0]->tcp_info.this_hfi_is_default_route=1
|
|
||||||
+hfi_list[0]->tcp_info.dhcp_override=1
|
|
||||||
+discovery_list[0]->index=1
|
|
||||||
+discovery_list[0]->hfi->index=1
|
|
||||||
+discovery_list[0]->uri=nvme+tcp://100.71.103.50:8009/
|
|
||||||
+discovery_list[0]->nqn=nqn.2014-08.org.nvmexpress.discovery
|
|
||||||
+subsystem_ns_list[0]->index=1
|
|
||||||
+subsystem_ns_list[0]->discovery->index=1
|
|
||||||
+subsystem_ns_list[0]->num_hfis=1
|
|
||||||
+subsystem_ns_list[0]->hfis[0]->index=1
|
|
||||||
+subsystem_ns_list[0]->transport=tcp
|
|
||||||
+subsystem_ns_list[0]->traddr=100.71.103.48
|
|
||||||
+subsystem_ns_list[0]->trsvcid=4420
|
|
||||||
+subsystem_ns_list[0]->subsys_port_id=0
|
|
||||||
+subsystem_ns_list[0]->nsid=148
|
|
||||||
+subsystem_ns_list[0]->nid_type=2
|
|
||||||
+subsystem_ns_list[0]->nid=c8244ed9c15f53b8ccf96802efca
|
|
||||||
+subsystem_ns_list[0]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:2a64abf1c5b81F6C4549
|
|
||||||
+subsystem_ns_list[0]->pdu_header_digest_required=0
|
|
||||||
+subsystem_ns_list[0]->data_digest_required=0
|
|
||||||
+subsystem_ns_list[0]->controller_id=5
|
|
||||||
+subsystem_ns_list[0]->asqsz=0
|
|
||||||
+subsystem_ns_list[0]->dhcp_root_path_string=(null)
|
|
||||||
+subsystem_ns_list[1]->index=2
|
|
||||||
+subsystem_ns_list[1]->discovery->index=1
|
|
||||||
+subsystem_ns_list[1]->num_hfis=1
|
|
||||||
+subsystem_ns_list[1]->hfis[0]->index=1
|
|
||||||
+subsystem_ns_list[1]->transport=tcp
|
|
||||||
+subsystem_ns_list[1]->traddr=100.71.103.49
|
|
||||||
+subsystem_ns_list[1]->trsvcid=4420
|
|
||||||
+subsystem_ns_list[1]->subsys_port_id=0
|
|
||||||
+subsystem_ns_list[1]->nsid=148
|
|
||||||
+subsystem_ns_list[1]->nid_type=2
|
|
||||||
+subsystem_ns_list[1]->nid=c8244ed9c15f53b8ccf96802efca
|
|
||||||
+subsystem_ns_list[1]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:2a64abf1c5b81F6C4549
|
|
||||||
+subsystem_ns_list[1]->pdu_header_digest_required=0
|
|
||||||
+subsystem_ns_list[1]->data_digest_required=0
|
|
||||||
+subsystem_ns_list[1]->controller_id=4166
|
|
||||||
+subsystem_ns_list[1]->asqsz=0
|
|
||||||
+subsystem_ns_list[1]->dhcp_root_path_string=(null)
|
|
28
libnvme.spec
28
libnvme.spec
@ -3,18 +3,14 @@
|
|||||||
|
|
||||||
Name: libnvme
|
Name: libnvme
|
||||||
Summary: Linux-native nvme device management library
|
Summary: Linux-native nvme device management library
|
||||||
Version: 1.7.1
|
Version: 1.9
|
||||||
Release: 4%{?dist}
|
Release: 1%{?dist}
|
||||||
License: LGPL-2.1-or-later
|
License: LGPL-2.1-or-later
|
||||||
URL: https://github.com/linux-nvme/libnvme
|
URL: https://github.com/linux-nvme/libnvme
|
||||||
Source0: %{url}/archive/v%{version_no_tilde}/%{name}-%{version_no_tilde}.tar.gz
|
Source0: %{url}/archive/v%{version_no_tilde}/%{name}-%{version_no_tilde}.tar.gz
|
||||||
|
|
||||||
# https://github.com/linux-nvme/libnvme/pull/765
|
# https://github.com/linux-nvme/libnvme/pull/833
|
||||||
Patch0: libnvme-1.8.0-initialize_autoclean_vars.patch
|
Patch0: libnvme-1.10-linux-Fix-uninitialized-variables.patch
|
||||||
# https://github.com/linux-nvme/libnvme/pull/780
|
|
||||||
Patch1: libnvme-1.8.0-initialize_autoclean_vars-2.patch
|
|
||||||
# https://github.com/linux-nvme/libnvme/pull/766
|
|
||||||
Patch2: libnvme-1.8.0-nbft-parser-fixes-766.patch
|
|
||||||
|
|
||||||
BuildRequires: gcc gcc-c++
|
BuildRequires: gcc gcc-c++
|
||||||
BuildRequires: swig
|
BuildRequires: swig
|
||||||
@ -25,7 +21,7 @@ BuildRequires: json-c-devel >= 0.13
|
|||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
BuildRequires: dbus-devel
|
BuildRequires: dbus-devel
|
||||||
BuildRequires: keyutils-libs-devel
|
BuildRequires: keyutils-libs-devel
|
||||||
%if (0%{?rhel} == 0)
|
%if 0%{?fedora} || 0%{?rhel} > 9
|
||||||
BuildRequires: kernel-headers >= 5.15
|
BuildRequires: kernel-headers >= 5.15
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@ -76,15 +72,16 @@ This package contains Python bindings for libnvme.
|
|||||||
mv %{buildroot}%{_pkgdocdir}/nvme/html %{buildroot}%{_pkgdocdir}/html
|
mv %{buildroot}%{_pkgdocdir}/nvme/html %{buildroot}%{_pkgdocdir}/html
|
||||||
rm -rf %{buildroot}%{_pkgdocdir}/nvme
|
rm -rf %{buildroot}%{_pkgdocdir}/nvme
|
||||||
mv %{buildroot}/usr/*.rst %{buildroot}%{_pkgdocdir}/
|
mv %{buildroot}/usr/*.rst %{buildroot}%{_pkgdocdir}/
|
||||||
|
rm -r %{buildroot}%{_pkgdocdir}/html/{.buildinfo,.doctrees/}
|
||||||
|
|
||||||
%ldconfig_scriptlets
|
%ldconfig_scriptlets
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license COPYING ccan/licenses/*
|
%license COPYING ccan/licenses/*
|
||||||
%{_libdir}/libnvme.so.1
|
%{_libdir}/libnvme.so.1
|
||||||
%{_libdir}/libnvme.so.1.7.1
|
%{_libdir}/libnvme.so.1.9.0
|
||||||
%{_libdir}/libnvme-mi.so.1
|
%{_libdir}/libnvme-mi.so.1
|
||||||
%{_libdir}/libnvme-mi.so.1.7.1
|
%{_libdir}/libnvme-mi.so.1.9.0
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%{_libdir}/libnvme.so
|
%{_libdir}/libnvme.so
|
||||||
@ -104,6 +101,15 @@ mv %{buildroot}/usr/*.rst %{buildroot}%{_pkgdocdir}/
|
|||||||
%{python3_sitearch}/libnvme/*
|
%{python3_sitearch}/libnvme/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri May 03 2024 Tomas Bzatek <tbzatek@redhat.com> - 1.9-1
|
||||||
|
- Upstream v1.9 release
|
||||||
|
|
||||||
|
* Wed Feb 28 2024 Davide Cavalca <dcavalca@fedoraproject.org> - 1.8-2
|
||||||
|
- Do not package doctrees to make the package build reproducible
|
||||||
|
|
||||||
|
* Wed Feb 14 2024 Tomas Bzatek <tbzatek@redhat.com> - 1.8-1
|
||||||
|
- Upstream v1.8 release
|
||||||
|
|
||||||
* Fri Feb 09 2024 Tomas Bzatek <tbzatek@redhat.com> - 1.7.1-4
|
* Fri Feb 09 2024 Tomas Bzatek <tbzatek@redhat.com> - 1.7.1-4
|
||||||
- nbft: Fix SSNS HFI indexes parsing
|
- nbft: Fix SSNS HFI indexes parsing
|
||||||
- cleanup: Explicitly initialize auto-cleanup variables
|
- cleanup: Explicitly initialize auto-cleanup variables
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (libnvme-1.7.1.tar.gz) = aea986ae35eafa17482e07015228d5a7d529d41148f4cee9e4619adc2460abb5460d60cd91177462cbcaf2e94e5870026ff9e45548f91d9f90b65a6268eb3abb
|
SHA512 (libnvme-1.9.tar.gz) = 39a3346805143f93a17d00cfcb6fb75f82154658db6079134c09dfa989995ac5de79b1ce1ac091b4e997523d3216829ce9eac44110c9f59f9fd21636529c8b25
|
||||||
|
Loading…
Reference in New Issue
Block a user