LVM_WRITE is a 32-bit flag. Now that RAID[_IMAGE|_META] are 64-bit,
and'ing a RAID LV's status against LVM_WRITE can reset the higher order
flags.
A similar thing will affect thinp flags if not careful.
Version 2.02.89 -
==================================
+ Fix improper RAID 64-bit status flag reset when and'ing against 32-bit flag.
Fix log size calculation when only a log is being added to a mirror.
Work around resume_lv causing error LV scanning during splitmirror operation.
Add 7th lv_attr char to show the related kernel target.
if (!_lv_is_on_pvs(seg_lv(seg, s), splittable_pvs))
continue;
lv_set_visible(seg_lv(seg, s));
- seg_lv(seg, s)->status &= ~LVM_WRITE;
+ /*
+ * LVM_WRITE is 32-bit, if we don't '|' it with
+ * UINT64_C(0) it will remove all higher order flags
+ */
+ seg_lv(seg, s)->status &= ~(UINT64_C(0) | LVM_WRITE);
break;
}