anitazha / rpms / ndctl

Forked from rpms/ndctl a year ago
Clone

Blame SOURCES/0162-cxl-list-Add-support-for-filtering-by-host-identifie.patch

e0018b
From cf0e0586bf45fd7e4ab17ce2b234bf68995daca3 Mon Sep 17 00:00:00 2001
e0018b
From: Dan Williams <dan.j.williams@intel.com>
e0018b
Date: Thu, 28 Apr 2022 15:10:42 -0700
e0018b
Subject: [PATCH 162/217] cxl/list: Add support for filtering by host
e0018b
 identifiers
e0018b
e0018b
Accept host device names as valid filters for memdevs, ports, and
e0018b
endpoints.
e0018b
e0018b
# cxl list -u -m 7
e0018b
{
e0018b
  "memdev":"mem7",
e0018b
  "pmem_size":"256.00 MiB (268.44 MB)",
e0018b
  "ram_size":"256.00 MiB (268.44 MB)",
e0018b
  "serial":"0x6",
e0018b
  "numa_node":0,
e0018b
  "host":"cxl_mem.6"
e0018b
}
e0018b
e0018b
# cxl list -u -m cxl_mem.6
e0018b
{
e0018b
  "memdev":"mem7",
e0018b
  "pmem_size":"256.00 MiB (268.44 MB)",
e0018b
  "ram_size":"256.00 MiB (268.44 MB)",
e0018b
  "serial":"0x6",
e0018b
  "numa_node":0,
e0018b
  "host":"cxl_mem.6"
e0018b
}
e0018b
e0018b
Link: https://lore.kernel.org/r/165118384289.1676208.4779565283924668304.stgit@dwillia2-desk3.amr.corp.intel.com
e0018b
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
e0018b
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
e0018b
---
e0018b
 cxl/filter.c | 9 +++++++++
e0018b
 1 file changed, 9 insertions(+)
e0018b
e0018b
diff --git a/cxl/filter.c b/cxl/filter.c
e0018b
index c6ab9eb..66fd742 100644
e0018b
--- a/cxl/filter.c
e0018b
+++ b/cxl/filter.c
e0018b
@@ -73,6 +73,9 @@ struct cxl_endpoint *util_cxl_endpoint_filter(struct cxl_endpoint *endpoint,
e0018b
 
e0018b
 		if (strcmp(arg, cxl_endpoint_get_devname(endpoint)) == 0)
e0018b
 			break;
e0018b
+
e0018b
+		if (strcmp(arg, cxl_endpoint_get_host(endpoint)) == 0)
e0018b
+			break;
e0018b
 	}
e0018b
 
e0018b
 	free(ident);
e0018b
@@ -116,6 +119,9 @@ static struct cxl_port *__util_cxl_port_filter(struct cxl_port *port,
e0018b
 
e0018b
 		if (strcmp(arg, cxl_port_get_devname(port)) == 0)
e0018b
 			break;
e0018b
+
e0018b
+		if (strcmp(arg, cxl_port_get_host(port)) == 0)
e0018b
+			break;
e0018b
 	}
e0018b
 
e0018b
 	free(ident);
e0018b
@@ -303,6 +309,9 @@ struct cxl_memdev *util_cxl_memdev_filter(struct cxl_memdev *memdev,
e0018b
 
e0018b
 		if (strcmp(name, cxl_memdev_get_devname(memdev)) == 0)
e0018b
 			break;
e0018b
+
e0018b
+		if (strcmp(name, cxl_memdev_get_host(memdev)) == 0)
e0018b
+			break;
e0018b
 	}
e0018b
 
e0018b
 	free(ident);
e0018b
-- 
e0018b
2.27.0
e0018b