[dm-devel] Re: dm snapshot: allow live exception store handover between tables

Mike Snitzer snitzer at redhat.com
Fri Nov 6 20:37:43 UTC 2009


On Fri, Nov 06 2009 at  3:07pm -0500,
Alasdair G Kergon <agk at redhat.com> wrote:

> On Fri, Nov 06, 2009 at 02:54:30PM -0500, Mike Snitzer wrote:
> > Alasdair G Kergon <agk at redhat.com> wrote:
> > > On Fri, Nov 06, 2009 at 02:26:21PM -0500, Mike Snitzer wrote:
> > > > OK, actually in practice 'lvchange --refresh' is:
> > > > old->suspend
> > > > new->ctr
> > > Those two need to be swapped.
> > Why do they _need_ to be swapped?
>  
> old->suspend stops I/O to the device.
> new->ctr allocates memory and in a bad case might lead to waiting for I/O to
> the device we've just suspended.

Ouch, yes good point.

So I'll put the following on my lvm2 TODO:

- establish a REFRESH flag (set on lvchange --refresh)
- if REFRESH is set then _lv_suspend() will treat the live metadata as
  if it is precommitted metadata

Mike




More information about the dm-devel mailing list