anitazha / rpms / ndctl

Forked from rpms/ndctl 2 years ago
Clone

Blame 0076-ndctl-test-Fix-support-for-missing-dax_pmem_compat-m.patch

Jeff Moyer 2c91dc
From 9bfb567715d1b45e6598e6b38bef531312c72db3 Mon Sep 17 00:00:00 2001
Jeff Moyer 2c91dc
From: Dan Williams <dan.j.williams@intel.com>
Jeff Moyer 2c91dc
Date: Wed, 5 Jan 2022 13:32:21 -0800
Jeff Moyer 2c91dc
Subject: [PATCH 076/217] ndctl/test: Fix support for missing dax_pmem_compat
Jeff Moyer 2c91dc
 module
Jeff Moyer 2c91dc
Jeff Moyer 2c91dc
The kernel is moving to drop CONFIG_DEV_DAX_PMEM_COMPAT. Update
Jeff Moyer 2c91dc
ndctl_test_init() to not error out if dax_pmem_compat is missing. It seems
Jeff Moyer 2c91dc
that the original implementation of support for missing dax_pmem_compat was
Jeff Moyer 2c91dc
broken, or since that time newer versions of kmod_module_new_from_name() no
Jeff Moyer 2c91dc
longer fail when the module is missing.
Jeff Moyer 2c91dc
Jeff Moyer 2c91dc
Link: https://lore.kernel.org/r/164141834155.3990253.5388773351209410262.stgit@dwillia2-desk3.amr.corp.intel.com
Jeff Moyer 2c91dc
Fixes: b7991dbc22f3 ("ndctl/test: Relax dax_pmem_compat requirement")
Jeff Moyer 2c91dc
Tested-by: Alison Schofield <alison.schofield@intel.com>
Jeff Moyer 2c91dc
Tested-by: Vaibhav Jain <vaibhav@linux.ibm.com>
Jeff Moyer 2c91dc
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Jeff Moyer 2c91dc
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
Jeff Moyer 2c91dc
---
Jeff Moyer 2c91dc
 test/core.c | 25 +++++++++++--------------
Jeff Moyer 2c91dc
 1 file changed, 11 insertions(+), 14 deletions(-)
Jeff Moyer 2c91dc
Jeff Moyer 2c91dc
diff --git a/test/core.c b/test/core.c
Jeff Moyer 2c91dc
index dc1405d..5d1aa23 100644
Jeff Moyer 2c91dc
--- a/test/core.c
Jeff Moyer 2c91dc
+++ b/test/core.c
Jeff Moyer 2c91dc
@@ -120,7 +120,6 @@ int ndctl_test_init(struct kmod_ctx **ctx, struct kmod_module **mod,
Jeff Moyer 2c91dc
 		"nfit",
Jeff Moyer 2c91dc
 		"device_dax",
Jeff Moyer 2c91dc
 		"dax_pmem",
Jeff Moyer 2c91dc
-		"dax_pmem_core",
Jeff Moyer 2c91dc
 		"dax_pmem_compat",
Jeff Moyer 2c91dc
 		"libnvdimm",
Jeff Moyer 2c91dc
 		"nd_btt",
Jeff Moyer 2c91dc
@@ -180,29 +179,27 @@ int ndctl_test_init(struct kmod_ctx **ctx, struct kmod_module **mod,
Jeff Moyer 2c91dc
 		/*
Jeff Moyer 2c91dc
 		 * Skip device-dax bus-model modules on pre-v5.1
Jeff Moyer 2c91dc
 		 */
Jeff Moyer 2c91dc
-		if ((strcmp(name, "dax_pmem_core") == 0
Jeff Moyer 2c91dc
-				|| strcmp(name, "dax_pmem_compat") == 0)
Jeff Moyer 2c91dc
-				&& !ndctl_test_attempt(test,
Jeff Moyer 2c91dc
-					KERNEL_VERSION(5, 1, 0)))
Jeff Moyer 2c91dc
+		if ((strcmp(name, "dax_pmem_compat") == 0) &&
Jeff Moyer 2c91dc
+		    !ndctl_test_attempt(test, KERNEL_VERSION(5, 1, 0)))
Jeff Moyer 2c91dc
 			continue;
Jeff Moyer 2c91dc
 
Jeff Moyer 2c91dc
 retry:
Jeff Moyer 2c91dc
 		rc = kmod_module_new_from_name(*ctx, name, mod);
Jeff Moyer 2c91dc
-
Jeff Moyer 2c91dc
-		/*
Jeff Moyer 2c91dc
-		 * dax_pmem_compat is not required, missing is ok,
Jeff Moyer 2c91dc
-		 * present-but-production is not ok.
Jeff Moyer 2c91dc
-		 */
Jeff Moyer 2c91dc
-		if (rc && strcmp(name, "dax_pmem_compat") == 0)
Jeff Moyer 2c91dc
-			continue;
Jeff Moyer 2c91dc
-
Jeff Moyer 2c91dc
 		if (rc) {
Jeff Moyer 2c91dc
-			log_err(&log_ctx, "%s.ko: missing\n", name);
Jeff Moyer 2c91dc
+			log_err(&log_ctx, "failed to interrogate %s.ko\n",
Jeff Moyer 2c91dc
+				name);
Jeff Moyer 2c91dc
 			break;
Jeff Moyer 2c91dc
 		}
Jeff Moyer 2c91dc
 
Jeff Moyer 2c91dc
 		path = kmod_module_get_path(*mod);
Jeff Moyer 2c91dc
 		if (!path) {
Jeff Moyer 2c91dc
+			/*
Jeff Moyer 2c91dc
+			 * dax_pmem_compat is not required, missing is
Jeff Moyer 2c91dc
+			 * ok, present-but-production is not ok.
Jeff Moyer 2c91dc
+			 */
Jeff Moyer 2c91dc
+			if (strcmp(name, "dax_pmem_compat") == 0)
Jeff Moyer 2c91dc
+				continue;
Jeff Moyer 2c91dc
+
Jeff Moyer 2c91dc
 			if (family != NVDIMM_FAMILY_INTEL &&
Jeff Moyer 2c91dc
 			    (strcmp(name, "nfit") == 0 ||
Jeff Moyer 2c91dc
 			     strcmp(name, "nd_e820") == 0))
Jeff Moyer 2c91dc
-- 
Jeff Moyer 2c91dc
2.27.0
Jeff Moyer 2c91dc