From: Zdenek Kabelac <zkabelac@redhat.com>
To: lvm-devel@redhat.com
Subject: [PATCH 1/6] Pool locking code
Date: Thu, 24 Mar 2011 13:45:34 +0100 [thread overview]
Message-ID: <4D8B3CEE.7060505@redhat.com> (raw)
In-Reply-To: <1300969276.28356.12.camel@ubuntu>
Dne 24.3.2011 13:21, Joe Thornber napsal(a):
> On Wed, 2011-03-23 at 20:01 +0100, Zdenek Kabelac wrote:
>>
>> Yes - the locking has rather 'debug' semantic to catch writes to vg
>> mempool.
>>
>> But I'm not sure what do you mean here by 'set/restore api won't be
>> needed' ?
>
> I had a quick chat about this with Alasdair yesterday. The plan is to
> change the code that updates the VGs so they don't touch the VG data in
> the pool, but instead hold those small changes off to one side.
>
> So the steps you seem to be following are:
>
> i) debug lock/unlock api for pool to identify mutating code. (Useful in
> perpetuity for regression tests.)
> ii) set/restore api for pool (temporary).
> iii) update the mutating code to use set.
> iv) gradually get rid of the use of set/restore on a case by case basis.
> v) remove the set/restore api
>
> There is an argument that set/restore shouldn't ever go into HEAD, but
> is instead something solely useful to you while you do this work. But
> since this work is going to take some time I see no problem with this
> going in on the understanding that it comes out again as soon as
> possible.
Yeah - I've been already thinking about this -
I could probably make even API for dm_pool_set & restore purely internal -
so only lvm would know about it - by copying internal structures.
So we would not need to expose this in public libdm API for a while.
And I've been also thinking about changing the places which are modifying
'read-only' VG structure members - but at this moment it's somewhat bigger patch.
My idea is - to use for this variable 'offset' inside volume_group structure,
and to access it for read/write - one must deference it through array access
over the exception store area (I'd stay with uint64_t data)
Depends on whether we accept this direction.
As for now it seems there is not so many accesses - so it looks like hopefully
'relatively' small amount of code needs to be changed.
If we would agree on the way we access them - it's probably easy to write
before it hits upstream - to avoid hassles with internal structures.
Zdenek
next prev parent reply other threads:[~2011-03-24 12:45 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-22 21:21 [PATCH 0/6] VG share v2 Zdenek Kabelac
2011-03-22 21:21 ` [PATCH 1/6] Pool locking code Zdenek Kabelac
2011-03-23 14:03 ` Joe Thornber
2011-03-23 14:43 ` Zdenek Kabelac
2011-03-23 14:53 ` Joe Thornber
2011-03-23 14:54 ` Zdenek Kabelac
2011-03-23 15:13 ` Joe Thornber
2011-03-23 15:57 ` Zdenek Kabelac
2011-03-23 16:33 ` Zdenek Kabelac
2011-03-23 17:29 ` Zdenek Kabelac
2011-03-23 18:41 ` Joe Thornber
2011-03-23 19:01 ` Zdenek Kabelac
2011-03-24 12:21 ` Joe Thornber
2011-03-24 12:45 ` Zdenek Kabelac [this message]
2011-03-24 13:50 ` Zdenek Kabelac
2011-03-22 21:21 ` [PATCH 2/6] Code move vg_mark_partial up in stack Zdenek Kabelac
2011-03-22 21:21 ` [PATCH 3/6] Share VG multiple times Zdenek Kabelac
2011-03-22 21:21 ` [PATCH 4/6] Use dm_pool_set_uint64 Zdenek Kabelac
2011-03-22 21:21 ` [PATCH 5/6] lv_postorder using dm_pool_set_uint64 Zdenek Kabelac
2011-03-22 21:22 ` [PATCH 6/6] lv_postorder unlock and lock Zdenek Kabelac
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=4D8B3CEE.7060505@redhat.com \
--to=zkabelac@redhat.com \
--cc=lvm-devel@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.