[<prev] [next>] [day] [month] [year] [list]
Message-ID: <1437846666.9656.9.camel@intel.com>
Date: Sat, 25 Jul 2015 17:51:07 +0000
From: "Williams, Dan J" <dan.j.williams@...el.com>
To: "torvalds@...ux-foundation.org" <torvalds@...ux-foundation.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-nvdimm@...ts.01.org" <linux-nvdimm@...ts.01.org>,
"nicholas.w.moulin@...ux.intel.com"
<nicholas.w.moulin@...ux.intel.com>
Subject: [GIT PULL] libnvdimm fix for 4.2-rc4
Hi Linus, please pull from...
git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm libnvdimm-fixes
...to receive a minor fix for the libnvdimm subsystem.
This is not critical. The problem can be worked around in userspace by
putting the namespace temporarily into raw mode
(ndctl_namespace_set_raw_mode() from libndctl), but that is awkward for
management utilities. I would consider it a candidate for 4.2-stable if
it does not make 4.2.
The following changes since commit 52721d9d3334c1cb1f76219a161084094ec634dc:
Linux 4.2-rc3 (2015-07-19 14:45:02 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm libnvdimm-fixes
for you to fetch changes up to 8ca243536d21ae2d08f61b1c5af4ac3d4bb697e4:
libnvdimm: fix namespace seed creation (2015-07-25 09:57:56 -0700)
----------------------------------------------------------------
Dan Williams (1):
libnvdimm: fix namespace seed creation
drivers/nvdimm/region_devs.c | 5 +++++
1 file changed, 5 insertions(+)
commit 8ca243536d21ae2d08f61b1c5af4ac3d4bb697e4
Author: Dan Williams <dan.j.williams@...el.com>
Date: Fri Jul 24 23:42:34 2015 -0400
libnvdimm: fix namespace seed creation
A new BLK namespace "seed" device is created whenever the current seed
is successfully probed. However, if that namespace is assigned to a BTT
it may never directly experience a successful probe as it is a
subordinate device to a BTT configuration.
The effect of the current code is that no new namespaces can be
instantiated, after the seed namespace, to consume available BLK DPA
capacity. Fix this by treating a successful BTT probe event as a
successful probe event for the backing namespace.
Reported-by: Nicholas Moulin <nicholas.w.moulin@...ux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@...el.com>
diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c
index a5233422f9dc..7384455792bf 100644
--- a/drivers/nvdimm/region_devs.c
+++ b/drivers/nvdimm/region_devs.c
@@ -458,10 +458,15 @@ static void nd_region_notify_driver_action(struct nvdimm_bus *nvdimm_bus,
nvdimm_bus_unlock(dev);
}
if (is_nd_btt(dev) && probe) {
+ struct nd_btt *nd_btt = to_nd_btt(dev);
+
nd_region = to_nd_region(dev->parent);
nvdimm_bus_lock(dev);
if (nd_region->btt_seed == dev)
nd_region_create_btt_seed(nd_region);
+ if (nd_region->ns_seed == &nd_btt->ndns->dev &&
+ is_nd_blk(dev->parent))
+ nd_region_create_blk_seed(nd_region);
nvdimm_bus_unlock(dev);
}
}
Powered by blists - more mailing lists