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>