[dm-devel] Possible bug in mirror target
John Stoffel
john at stoffel.org
Sun Feb 10 21:58:06 UTC 2019
>>>>> "Zdenek" == Zdenek Kabelac <zkabelac at redhat.com> writes:
Zdenek> Dne 05. 02. 19 v 1:47 Drew Hastings napsal(a):
>> Hi,
>>
>> I'm assuming all user space code is expected to use the handle_errors feature,
>> so this isn't that big of a deal. I'm also using 4.19.13, which I think is
>> more recent than the latest update to dm-raid1.c
>>
>> That said, there may be a bug that causes the entire mirror to crash if there
>> is an error on the first leg of the mirror, but not on the 2nd leg.
>>
>> Works fine if you do cause IO errors on the 2nd leg:
>>
>> root at kernel-dev:~# dmsetup create zerodev --table "0 1073741824 zero"
>> root at kernel-dev:~# dmsetup create errordev --table "0 1073741824 error"
>>
>>
>> root at kernel-dev:~# dmsetup create mirror-table --table "0 1073741824 mirror
>> core 2 524288 nosync 2 /dev/mapper/zerodev 0 /dev/mapper/errordev 0 0"
Zdenek> There are 2 operational modes for old dm mirror target.
Zdenek> One requires to handle errors externally. Please check i.e. the following
Zdenek> guide for mirror target:
Zdenek> https://wiki.gentoo.org/wiki/Device-mapper
Zdenek> Lvm2 is using 'dmeventd' to service this error handling
Zdenek> (i.e. dropping the mirror leg or allocating replacement one).
Is it time to remove the dm-mirror target then? Or to deprecate it?
Or to just silently replace it with something that does the right
thing when errors happen? I can't think of why *anyone* would want to
use the dm-mirror target as it now seems to work.
John
More information about the dm-devel
mailing list