[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1493651145.30303.13.camel@hpe.com>
Date: Mon, 1 May 2017 15:05:46 +0000
From: "Kani, Toshimitsu" <toshi.kani@....com>
To: "dan.j.williams@...el.com" <dan.j.williams@...el.com>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"dave.jiang@...el.com" <dave.jiang@...el.com>,
"linux-nvdimm@...ts.01.org" <linux-nvdimm@...ts.01.org>,
"vishal.l.verma@...el.com" <vishal.l.verma@...el.com>
Subject: Re: [PATCH 2/2] libnvdimm: clear region badblock in
nvdimm_clear_poison()
On Fri, 2017-04-28 at 17:35 -0700, Dan Williams wrote:
> On Fri, Apr 28, 2017 at 5:12 PM, Dan Williams <dan.j.williams@...el.c
> om> wrote:
> > On Fri, Apr 28, 2017 at 5:10 PM, Dan Williams <dan.j.williams@...el
> > .com> wrote:
> > > On Thu, Apr 27, 2017 at 3:57 PM, Toshi Kani <toshi.kani@....com>
> > > wrote:
> > > > Badblocks are tracked at both region and device levels.
> > > > pmem_clear_poison() and nsio_rw_bytes() call
> > > > nvdimm_clear_poison() and then badblocks_clear() to clear
> > > > badblocks at the device level. However, it does not update
> > > > badblocks at the region level, which makes them inconsistent.
> > > >
> > > > Change nvdimm_clear_poison() to update backblocks at the region
> > > > level to keep them consistent.
> > > >
> > > > Signed-off-by: Toshi Kani <toshi.kani@....com>
> > > > Cc: Dan Williams <dan.j.williams@...el.com>
> > > > Cc: Dave Jiang <dave.jiang@...el.com>
> > > > Cc: Vishal Verma <vishal.l.verma@...el.com>
> > >
> > > This looks good, and it seems we have a bug in the other location
> > > that does this in __nd_ioctl(). That other one is missing the
> > > "clear_err.cleared / 512" check. Can you respin this and define a
> > > common helper that both locations can call?
> >
> > On second thought, I'll take this and spin my own cleanup / fix on
> > top.
> >
> > Thanks Toshi!
>
> ...and I need to drop it again because it causes this:
>
> [ 106.974889] BUG: sleeping function called from invalid context at
> kernel/locking/mutex.c:747
> [ 106.977328] in_atomic(): 1, irqs_disabled(): 0, pid: 5584, name:
> dd
Sorry, I should have tested with CONFIG_DEBUG_ATOMIC_SLEEP set. Thanks
for straighten it out in your patch!
-Toshi
Powered by blists - more mailing lists