Red Hat Bugzilla – Bug 170864
device-mapper mirroring backwards compatibility issue
Last modified: 2007-11-30 17:07:21 EST
Description of problem:
The original mirroring code ignored device failures. The current code
raises an event and blocks I/O completion notices until a user-space
daemon responds to the event. Old LVM code would not be listening for
dm events, and would therefore leave the device in a blocking state.
This is not a big problem for RHEL, as we ship a current LVM. However,
the pvmove code has not yet been updated to take advantage of the
event notifications - it just thinks it means the device is in-sync.
This makes pvmove believe that its done its job, but the device is
left in a blocking state. Since pvmove may be used to move data off
of a failing device, this is not a good situation to have.
The fix is to cause the mirror code to behave as before unless a
flag is specified letting the kernel code know that it is ok to
raise events and block I/O completion. The pvmove code (and previous
versions of LVM) will not use this flag and will get the behaviour
they expect. Current LVM code will use the flag and will be able
to respond to the events.
Version-Release number of selected component (if applicable):
Created attachment 119997 [details]
proposed backwards compatibility patch
This patch has not yet been reviewed or tested
*** Bug 173360 has been marked as a duplicate of this bug. ***
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.