From: "Verma, Vishal L" <vishal.l.verma@intel.com>
To: "toshi.kani@hpe.com" <toshi.kani@hpe.com>,
"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>
Subject: Re: [PATCH v6 6/6] libnvdimm, btt: rework error clearing
Date: Thu, 24 Aug 2017 20:32:58 +0000 [thread overview]
Message-ID: <1503606666.22880.19.camel@intel.com> (raw)
In-Reply-To: <1503508401.2042.174.camel@hpe.com>
On Wed, 2017-08-23 at 17:23 +0000, Kani, Toshimitsu wrote:
> On Tue, 2017-08-22 at 16:19 -0600, Vishal Verma wrote:
> :
> > +
> > +/* The block had a media error, and needs to be
> > cleared */
> > +if (btt_is_badblock(btt, arena, arena-
> > > freelist[lane].block)) {
> >
> > +arena->freelist[lane].has_err = 1;
> > +nd_region_release_lane(btt->nd_region,
> > lane);
> > +
> > +arena_clear_freelist_error(arena, lane);
> > +/* OK to acquire a different lane/free block
> > */
> > +goto retry;
>
> I hit an infinite clear loop when DSM Clear Uncorrectable Error
> function fails. Haven't looked into the details, but I suspect this
> unconditional retry is the cause of this.
Thanks Toshi - that makes sense. I think the right thing to do would be
if the DSM fails, return an EIO yes? (Or should we ignore the fact that
there was an error, clear ->has_err, and let the write take its course
(possibly generate a CMCI)
It will still be in the badblock list, and for reads ->rw_bytes will
still check and fail them.
I'll send out a new series with a fix, but we really need to get a unit
test for BTT error clearing, and I'm working on implementing the new
error injection DSMs in libndctl and nfit_test to do that.
>
> Thanks,
> -Toshi
>
>
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
next prev parent reply other threads:[~2017-08-24 20:30 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-22 22:19 [PATCH v6 0/6] BTT error clearing rework Vishal Verma
2017-08-22 22:19 ` [PATCH v6 1/6] btt: fix a missed NVDIMM_IO_ATOMIC case in the write path Vishal Verma
2017-08-22 22:19 ` [PATCH v6 2/6] btt: refactor map entry operations with macros Vishal Verma
2017-08-22 22:19 ` [PATCH v6 3/6] btt: ensure that flags were also unchanged during a map_read Vishal Verma
2017-08-22 22:19 ` [PATCH v6 4/6] btt: cache sector_size in arena_info Vishal Verma
[not found] ` <20170822221915.1732-1-vishal.l.verma-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-08-22 22:19 ` [PATCH v6 5/6] libnvdimm: fix potential deadlock while clearing errors Vishal Verma
2017-08-22 22:19 ` Vishal Verma
2017-08-22 22:19 ` [PATCH v6 6/6] libnvdimm, btt: rework error clearing Vishal Verma
2017-08-23 17:23 ` Kani, Toshimitsu
2017-08-24 20:32 ` Verma, Vishal L [this message]
2017-08-24 20:36 ` Dan Williams
2017-08-24 21:07 ` Jeff Moyer
2017-08-24 21:40 ` Kani, Toshimitsu
2017-08-24 22:11 ` Dan Williams
2017-08-24 23:15 ` Verma, Vishal L
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=1503606666.22880.19.camel@intel.com \
--to=vishal.l.verma@intel.com \
--cc=linux-nvdimm@lists.01.org \
--cc=toshi.kani@hpe.com \
/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.