[dm-devel] Question about dm target size
snitzer at redhat.com
Wed Nov 12 02:06:41 UTC 2014
On Tue, Nov 11 2014 at 7:37pm -0500,
Josef Bacik <jbacik at fb.com> wrote:
> I'm creating a dm target to better test power fail situations and
> I'm having trouble figuring out how to make the dm device appear as
> a different size. So for example you do the normal dm table
> offset size power-fail /dev/whatever args
So "size" should be constrained to:
size=$(sudo blockdev --getsz /dev/whatever); $((size/2))
> I want to use the entire size of /dev/whatever, but I want my dm
> device to show up as size/2. So right now I'm doing this in my
> ->ctr function
> ti->len /= 2;
You don't want to mess with ti->len. If you have "size" be size/2
then ti->len will automatically reflect that.
But anyway, I'm mot really following how you'd map the entire
/dev/whatever but only expose half its size to the user. What would the
target's ->map function be doing?
> Is that acceptable, or will this have some side-effect that's going
> to bite me in the ass? I can't see any other target that does
> something similar and there appears to be no helper function. This
> seems to work as far as blockdev --getsz is concerned, but I'm
> worried I need to do more. Thanks,
dm-thinp is all about establishing thin volumes of fictional size...
wondering what kind of helper you were hoping to find.
The target's ->ctr would open /dev/whatever and internalize
/dev/whatever's size and ->map would deal with remapping of bios sent to
the target over to /dev/whatever.
More information about the dm-devel