Re: [PATCH v2] lvs: add -o lv_usable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dne 09. 09. 20 v 18:47 Zhao Heming napsal(a):
report LV is usable for upper layer.

leave issues
- this patch doesn't contain dm table comparison. So if the disk
   is removed then re-inserted, but the re-inserted disk
   major:minor is changed, the code doesn't have ability to detect.
- raid10: removing any 2 disks will think as array broken.

Signed-off-by: Zhao Heming <heming.zhao@xxxxxxxx>
---
v2:
- remove dm table parsing code in _lv_is_usable()
- add new status bit NOT_USABLE_LV.
   note, I chose the first available bit 0x0000000080000000
- _lvusable_disp() uses lv_is_usable() to return usable status

	dm_list_iterate_items(lvseg, &lv->segments) {
  		for (s = 0; s < lvseg->area_count; ++s) {
  			if (seg_type(lvseg, s) == AREA_PV) {
-				if (is_missing_pv(seg_pv(lvseg, s)))
+				pv = seg_pv(lvseg, s);
+				if (!(pv->dev) && is_missing_pv(pv)) {
  					lv->status |= PARTIAL_LV;
+					lv->status |= NOT_USABLE_LV;
+				}
  			}
  		}
  	}

Hi

As it can be seen here - there is big intersection with meaning of
PARTIAL_LV.

And the question is - what does it mean in the context of various segment
types.

I believe we need to discuss with Heinz - whether we want to mark
Raid LVs partial in case they are actually 'only leg-pertial' and should
be actually activatable without partial activation - which is ATM abused for this purpose.

ATM I'm not sure we want to introduce new flags, which has only slight
deviation from current partial flag - which should deserve closer look
of its meaning.

We'll try to find something with Heinz to agree with.


Zdenek

_______________________________________________
linux-lvm mailing list
linux-lvm@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/




[Index of Archives]     [Gluster Users]     [Kernel Development]     [Linux Clusters]     [Device Mapper]     [Security]     [Bugtraq]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]

  Powered by Linux