Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Dec 2014 22:00:58 -0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        "Pokala, Ravi" <rpokala@panasas.com>
Cc:        John-Mark Gurney <jmg@funkthat.com>, "freebsd-geom@freebsd.org" <freebsd-geom@freebsd.org>
Subject:   Re: Converting LBAs to byte offsets through the GEOM stack
Message-ID:  <CAJ-VmokV3-ZRQmVZWcHUSxccwaRxySDExoSiF8%2BsgHtkHN5_yg@mail.gmail.com>
In-Reply-To: <D0B8C76C.127E55%rpokala@panasas.com>
References:  <D0B89F30.127DAE%rpokala@panasas.com> <20141219015210.GY25139@funkthat.com> <D0B8C76C.127E55%rpokala@panasas.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

So when I did stuff like this back in the day, I also had to deal with
some layers doing not just straight static translations, but things
like dynamic sector remapping for what was effectively software error
correction. Reaching "around" the layers with some mapping from
virtual -> physical disk device and blocks ended up being problematic
as between the time you did the lookup and the time you did the IO,
the mapping could change.

So when doing stuff like this, I ended up piggybacking commands
through the translation layers, so stuff was done (a) in line with the
rest of IO processing, and (b) wouldn't suffer from stale data.

It doesn't matter as long as the translation stays static, but there's
nothing in GEOM that requires you to have a static translation layer.
:)



-adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmokV3-ZRQmVZWcHUSxccwaRxySDExoSiF8%2BsgHtkHN5_yg>