[linux-lvm] deadlock during backup from lvm snapshot

Jack Wang jack.wang.usish at gmail.com
Mon Jun 12 12:53:42 UTC 2017


Hi Sergey,

2017-05-11 11:46 GMT+02:00 Sergey Zhuravlev <sergey at divpro.ru>:
> Hi
>
> This message is a continuation of this thread:
> https://www.redhat.com/archives/linux-lvm/2016-November/msg00037.html
>
>> Please switch to newer version of lvm2.
>>
>> Sequence with snapshot activation had been reworked to minimize possibility to hit this kernel race - race is still there even with the latest kernel,
>> but in the real world you should not have a much chance to hit it.
>> If you still do - please report again - we will take more closer look and your workflow.
>
>
> The bug is still there. We have over 100 servers with LVM and everyday
> backups using snapshots.
> And we hit this race at least 1 time every week.
Looks the fix was included since 4.9.16+, have you tried it.

Do you have reproducer for the bug?

commit 21582cd0b64ca464084cb872b3d348065b0b54af
Author: Mikulas Patocka <mpatocka at redhat.com>
Date:   Wed Feb 15 11:26:10 2017 -0500

    dm: flush queued bios when process blocks to avoid deadlock

    commit d67a5f4b5947aba4bfe9a80a2b86079c215ca755 upstream.

    Commit df2cb6daa4 ("block: Avoid deadlocks with bio allocation by
    stacking drivers") created a workqueue for every bio set and code
    in bio_alloc_bioset() that tries to resolve some low-memory deadlocks
    by redirecting bios queued on current->bio_list to the workqueue if the
    system is low on memory.  However other deadlocks (see below **) may
    happen, without any low memory condition, because generic_make_request
    is queuing bios to current->bio_list (rather than submitting them).

    ** the related dm-snapshot deadlock is detailed here:
    https://www.redhat.com/archives/dm-devel/2016-July/msg00065.html

Regards,
Jack




More information about the linux-lvm mailing list