All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Williams, Dan J" <dan.j.williams@intel.com>
To: "torvalds@linux-foundation.org" <torvalds@linux-foundation.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
	"nicholas.w.moulin@linux.intel.com"
	<nicholas.w.moulin@linux.intel.com>
Subject: [GIT PULL] libnvdimm fix for 4.2-rc4
Date: Sat, 25 Jul 2015 17:51:07 +0000	[thread overview]
Message-ID: <1437846666.9656.9.camel@intel.com> (raw)

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@intel.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@linux.intel.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.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);
 	}
 }


WARNING: multiple messages have this Message-ID (diff)
From: "Williams, Dan J" <dan.j.williams@intel.com>
To: "torvalds@linux-foundation.org" <torvalds@linux-foundation.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-nvdimm@lists.01.org" <linux-nvdimm@ml01.01.org>,
	"nicholas.w.moulin@linux.intel.com" 
	<nicholas.w.moulin@linux.intel.com>
Subject: [GIT PULL] libnvdimm fix for 4.2-rc4
Date: Sat, 25 Jul 2015 17:51:07 +0000	[thread overview]
Message-ID: <1437846666.9656.9.camel@intel.com> (raw)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 2743 bytes --]

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@intel.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@linux.intel.com>
    Signed-off-by: Dan Williams <dan.j.williams@intel.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);
 	}
 }

ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

             reply	other threads:[~2015-07-25 17:51 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-25 17:51 Williams, Dan J [this message]
2015-07-25 17:51 ` [GIT PULL] libnvdimm fix for 4.2-rc4 Williams, Dan J

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1437846666.9656.9.camel@intel.com \
    --to=dan.j.williams@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=nicholas.w.moulin@linux.intel.com \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.