Re: [PATCH v6 09/10] dax/kmem: add sysfs interface for atomic whole-device hotplug
Gregory Price <[email protected]>
| Newsgroups | dev.linux.lists.nvdimm,dev.linux.lists.driver-core,org.kernel.vger.linux-cxl,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest,org.kvack.linux-mm |
|---|---|
| Message-ID | <akQ_xlJtXNgnGUdf@gourry-fedora-PF4VCD3F> |
On Tue, Jun 30, 2026 at 05:18:41PM -0400, Gregory Price wrote: > There is no atomic mechanism to offline and remove an entire > multi-block DAX kmem device. This is presently done in two steps: ... snip snip snip ... Sashiko pointed out a false-positive, but adding a fixup patch here that adds additional consistency. On total failure - release all resources. This makes the sysfs interface consistent with the probe failure path. Just attaching a fixup here, since technically it's not a bug, could fold in separately ~Gregory
0001-fixup-dax-kmem-add-sysfs-interface-for-atomic-whole-.patch
(text/plain, 845 B)
From e341860c83fd5d5e8549d8adbf71a484c8990c5f Mon Sep 17 00:00:00 2001 From: Gregory Price <[email protected]> Date: Tue, 30 Jun 2026 14:49:06 -0700 Subject: [PATCH] fixup! dax/kmem: add sysfs interface for atomic whole-device hotplug --- drivers/dax/kmem.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/dax/kmem.c b/drivers/dax/kmem.c index 19effe0da3dc..f597d8a99c1f 100644 --- a/drivers/dax/kmem.c +++ b/drivers/dax/kmem.c @@ -380,8 +380,11 @@ static ssize_t state_store(struct device *dev, struct device_attribute *attr, return rc; rc = dax_kmem_do_hotplug(dev_dax, data, online_type); - if (rc < 0) + if (rc < 0) { + /* Total failure, drop the reservations we took. */ + dax_kmem_cleanup_resources(dev_dax, data); return rc; + } data->state = online_type; return len; -- 2.53.0-Meta