From: Zdenek Kabelac <zkabelac@redhat.com>
To: device-mapper development <dm-devel@redhat.com>,
Mike Snitzer <snitzer@redhat.com>
Subject: Re: Question about dm target size
Date: Wed, 12 Nov 2014 09:45:15 +0100 [thread overview]
Message-ID: <54631E1B.4090300@redhat.com> (raw)
In-Reply-To: <fw2umnrmmu1mdtg0ab4f8stc.1415759451452@email.android.com>
Dne 12.11.2014 v 03:30 Josef Bacik napsal(a):
> Sorry for top posting, my phone client doesn't do inline.
>
> I'm splitting the disk in half, writing to alternating sides of the disk and keeping track of where which block is so when the power fail event occurs the subsequent reads come from the corresponding mirror in the disk. The disk needs to appear to be size/2 for the mkfs to know the correct size, but my target needs to be able to write up to size. I looked at thinp but it reflects the full size right? It's just like a sparse find correct? My ->map function does the right thing, doing the ->len trick makes it all work out right, but this is really isolated testing. Thanks,
>
Just a side note - maybe you would like to rather extend functionality of
dm-flakey target ?
Zdenek
> Josef
>
> Mike Snitzer <snitzer@redhat.com> wrote:
>
>
> On Tue, Nov 11 2014 at 7:37pm -0500,
> Josef Bacik <jbacik@fb.com> wrote:
>
>> Hello,
>>
>> 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.
>
next prev parent reply other threads:[~2014-11-12 8:45 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-12 0:37 Question about dm target size Josef Bacik
2014-11-12 2:06 ` Mike Snitzer
2014-11-12 2:30 ` Josef Bacik
2014-11-12 8:45 ` Zdenek Kabelac [this message]
2014-11-12 11:00 ` Josef Bacik
2014-11-12 11:48 ` Zdenek Kabelac
2014-11-12 11:15 ` Heinz Mauelshagen
2014-11-12 12:28 ` Bryn M. Reeves
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=54631E1B.4090300@redhat.com \
--to=zkabelac@redhat.com \
--cc=dm-devel@redhat.com \
--cc=snitzer@redhat.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.