Red Hat Bugzilla – Bug 221921
vgreduce gives wrong return code after successful removal of failed mirror log device
Last modified: 2007-11-30 17:07:27 EST
$SUBJECT causes problems for dmeventd when it tries to determine whether the
command failed or succeeded.
The problem seems to be that lib/metadata/mirror.c:reconfigure_mirror_images
removes the log_lv and then tools/vgreduce.c:_make_vg_consistent tries again.
The last one fails (because it isn't there) and terminates the command with an
error exit code.
The only ill side-effects of this is misleading (very concerning) messages in
Jan 8 14:19:46 neo-04 dmeventd: vgreduce operation failed (5).
Jan 8 14:19:46 neo-04 dmeventd: Failed to remove faulty devices in vg-lv
Created attachment 145116 [details]
Output of vgreduce --removemissing
Created attachment 145118 [details]
Patch that fixes problem
Patch checks for lv in vg before issuing the removal.
reassigning to agk so he can look at (?include?) this short patch
added upstream for next release
fix verified in lvm2-2.02.19-1.el4.
Jan 24 06:12:16 link-08 lvm: Completed: vgreduce --removemissing vg
Jan 24 06:12:16 link-08 lvm: vg-corey_mirror is now in-sync
Jan 24 06:12:18 link-08 lvm: No longer monitoring mirror device
vg-corey_mirror for events
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.