[dm-devel] Re: Snapshot merging

Mike Snitzer snitzer at redhat.com
Wed Sep 9 15:56:43 UTC 2009


On Wed, Sep 09 2009 at 11:47am -0400,
Mikulas Patocka <mpatocka at redhat.com> wrote:

> Hi
> 
> I found one bug in the userspace code --- start merging, then from the 
> other console deactivate the origin volume with lvchange -an, then wait 
> next 15 seconds for the next poll interval:
> 
> the poll process will think that the merging finished, removing the 
> snapshot, leaving partially merged origin and causing data corruption:
> 
> [slunicko:~]# lvconvert -M vg1/lv2_snap1
>   Merging of volume lv2_snap1 started.
>   lv2: Merged: 13.1%
> ( .... deactivate the volume from the other console ....)
>   lv2: Merged: -1.0%
>   Merge into logical volume lv2 finished.
>   Logical volume "snapshot4" successfully removed
> 
> Maybe this bug was in my code too, I don't remember.

Likely, considering I merely ported your LVM2 patches to the latest
version.  That said, I could've introduced this issue by missing
something in the port.  Regardless, I'll have a look at preventing the
origin LV from being deactivated during a merge.

> Otherwise, the code seems stable, I didn't see anything wrong, I tried to 
> crash it while merging and it resumed without data corruption.

Great, thanks for the feedback and testing!

Mike




More information about the dm-devel mailing list