[linux-lvm] deadlock during backup from lvm snapshot
jack.wang.usish at gmail.com
Mon Jun 12 12:53:42 UTC 2017
2017-05-11 11:46 GMT+02:00 Sergey Zhuravlev <sergey at divpro.ru>:
> This message is a continuation of this thread:
>> 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?
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:
More information about the linux-lvm