Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Dec 2014 02:13:19 +0000
From:      "Pokala, Ravi" <rpokala@panasas.com>
To:        John-Mark Gurney <jmg@funkthat.com>
Cc:        "freebsd-geom@freebsd.org" <freebsd-geom@freebsd.org>
Subject:   Re: Converting LBAs to byte offsets through the GEOM stack
Message-ID:  <D0B8C76C.127E55%rpokala@panasas.com>
In-Reply-To: <20141219015210.GY25139@funkthat.com>
References:  <D0B89F30.127DAE%rpokala@panasas.com> <20141219015210.GY25139@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> I've only done this manually...  It isn't too hard, as all the
>partitioning schemes are simple offsets, and the stripe should be
>regular...

The *partitioning schemes*, yes. But once you start building up more
layers, it gets complicated.

> The issue w/ manually mapping, is that you might loose a race w/ the
>mirror when writing out new data...


Yeah, I described it the way I did because I'm trying to avoid discussing
some proprietary details. :-P It was "close enough" for you to get the
idea what I was talking about.

> I was thinking it would be good for gmirror to grow a mode that when it
>detects a pending sector or offline sector, to figure out via some
>mapping, what data needed to be fixed, and attempt to read/write the data
>back...

What you're talking about would be called "sector resilvering", or perhaps
"on-the-fly resilvering" - rebuilding the mirror for just sectors that we
know are bad, without having to re-mirror the entire device. Panasas
actually implemented that in gmirror on our old 7.2-RELEASE-based system,
and we are planning on porting it forward to a 10.1-RELEASE-based (or
better still -CURRENT-based) system in the near future; when we do that,
we'll submit it.

> Even having a simple mode that upon read error, would read from the
>other drive and write back would be good...

Yes, that's exactly what we (Panasas) implemented.

-Ravi




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D0B8C76C.127E55%rpokala>