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@intel.c
> om> wrote:
> > On Fri, Apr 28, 2017 at 5:10 PM, Dan Williams <dan.j.williams@intel
> > .com> wrote:
> > > On Thu, Apr 27, 2017 at 3:57 PM, Toshi Kani <toshi.k...@hpe.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.k...@hpe.com>
> > > > Cc: Dan Williams <dan.j.willi...@intel.com>
> > > > Cc: Dave Jiang <dave.ji...@intel.com>
> > > > Cc: Vishal Verma <vishal.l.ve...@intel.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 

Reply via email to