[linux-lvm] blkid_wiping breaks snapshots

Peter Rajnoha prajnoha at redhat.com
Mon Feb 10 14:12:34 UTC 2014


On 02/10/2014 02:48 PM, Christian Hesse wrote:
> Zdenek Kabelac <zkabelac at redhat.com> on Mon, 2014/02/10 13:20:
>> Dne 10.2.2014 10:30, Christian Hesse napsal(a):
>>> Zdenek Kabelac <zkabelac at redhat.com> on Mon, 2014/02/10 09:33:
>>>> Dne 8.2.2014 00:55, Christian Hesse napsal(a):
>>>>> Christian Hesse <list at eworm.de> on Sat, 2014/02/08 00:36:
>>>>>> Hello everybody,
>>>>>>
>>>>>> I think I nailed it down with git bisect. My first bad commit is:
>>>>>>
>>>>>> 75628f341ad38b68aae33eae0b5700be2a6e5769
>>>>>> configure: enable blkid_wiping by default if the blkid library is
>>>>>> present
>>>>>>
>>>>>> Looks like this wipes data that is still needed... Building a package
>>>>>> with '--disable-blkid_wipe' now to verify on another system.
>>>>>
>>>>> Uh, this only helps part of...
>>>>>
>>>>> I changed my test setup and used writable snapshots. After that I got:
>>>>>
>>>>> WARNING: DM_snapshot_cow signature detected on /dev/cvg/snap-home at
>>>>> offset 0. Wipe it? [y/n]
>>>>>
>>>>> (see https://bbs.archlinux.org/viewtopic.php?id=176504 for another
>>>>> report)
>>>>>
>>>>> Looks like disabling blkid_wiping fixes this. My snapshot corruption
>>>>> still occurs though. :-/
>>>>> Bad thing about it is that the corruption does not occur reliable when
>>>>> doing simple tests in 'git bisect'... Out of ideas for now - Will go to
>>>>> bed now.
>>>>
>>>> Now this was helpful, I guess I think what is going on.
>>>
>>> Great! Waiting for patches then. :D
>>>
>>> I could provide some more information when needed:
>>>
>>> * This happens with read only snapshots only.
>>> * I could reproduce with commit eaa23d32732c9bc3dd4f948781b5764cf21d84ba
>>>    (wiping: add support for blkid wiping), so it was introduced there or
>>>    before.
>>>
>>> Should I investigate further or wait for something to test from you?
>>
>> Is the patch bellow fixing your problem ?
>> (It's still not final - but should help)
>>
>> Zdenek
>>
>>
>> diff --git a/tools/lvcreate.c b/tools/lvcreate.c
>> index 638a868..e8b1a7f 100644
>> --- a/tools/lvcreate.c
>> +++ b/tools/lvcreate.c
>> @@ -772,7 +772,7 @@ static int _read_activation_params(struct
>> lvcreate_params *lp, LVM_READ | LVM_WRITE);
>>
>>          /* Must not zero/wipe read only volume */
>> -       if (!(lp->permission & LVM_WRITE)) {
>> +       if (!lp->snapshot && !(lp->permission & LVM_WRITE)) {
>>                  lp->zero = 0;
>>                  lp->wipe_signatures = 0;
>>          }
> 
> This looks good to me. I've made some backups now without any corruption.
> 
> But with blkid_wiping enabled I do have this warning/question now for read
> only snapshots as well:
> 
> WARNING: DM_snapshot_cow signature detected on /dev/cvg/snap-home
> at offset 0. Wipe it? [y/n]
> 
> lvm works perfectly only with your patch applied and compiled with
> --disable-blkid_wiping.

Also, try this patch in addition:

https://git.fedorahosted.org/cgit/lvm2.git/commit/?id=ed166a3b1d3290ad887d8f83c24a8d8877713d3c

-- 
Peter




More information about the linux-lvm mailing list