[lvm-devel] [PATCH] handle transient errors in lvconvert --repair
Takahiro Yasui
tyasui at redhat.com
Thu May 20 00:49:47 UTC 2010
Hi Petr,
On 05/19/10 14:31, Petr Rockai wrote:
> The attached patch is on top of the previous one -- it should apply
> cleanly on top of current CVS + the lvconvert-repair-transient.diff I
> have sent previously. It also fixes a bug in messages, where it would
> claim that it failed to replace things even if it never tried to in the
> first place.
>
> Please test and let me know if you run into any other issues.
I tested your two patches and all my test cases for 'disk' log
passed. As for 'mirrored' log, we need to check the state for
log_lv. Here is the sample code.
_lvconvert_mirrors_repair()
...
lv_check_transient(lv); /* TODO check this in lib for all commands? */
- if (!(lv->status & PARTIAL_LV)) {
+ log_lv = first_seg(lv)->log_lv;
+ if (log_lv && log_lv->status & MIRRORED)
+ lv_check_transient(log_lv);
+
+ if (!(lv->status & PARTIAL_LV) && !log_lv &&
+ !(log_lv->status & PARTIAL_LV)) {
...
new_log_count = old_log_count;
- log_lv = first_seg(lv)->log_lv;
if (log_lv) {
Thanks,
Taka
More information about the lvm-devel
mailing list