From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 From: Eric Ren Date: Thu, 11 Apr 2019 08:27:44 +0800 Message-ID: Content-Type: multipart/alternative; boundary="000000000000e51a32058636412c" Subject: [linux-lvm] Aborting. LV mythinpool_tmeta is now incomplete Reply-To: LVM general discussion and development List-Id: LVM general discussion and development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , List-Id: To: LVM general discussion and development , lvm-devel@redhat.com, thornber@redhat.com --000000000000e51a32058636412c Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello list, Recently, we're exercising our container environment which uses lvm to manage thin LVs, meanwhile we found a very strange error to activate the thin LV: =E2=80=9CAborting. LV mythinpool_tmeta is now incomplete and '--activation= mode partial' was not specified.\n: exit status 5: unknown" centos 7.6 # lvm version LVM version: 2.02.180(2)-RHEL7 (2018-07-20) Library version: 1.02.149-RHEL7 (2018-07-20) Driver version: 4.35.0 It has appeared several times, but can not be reproduced easily by simple steps, and it only errors at that moment, after it happens everything seems OK but only that activation failed. Looking at the code a bit. At first, I suspect the PV may disappear for some reason, but the VG sits on only one PV, the setup is simple, the environment is only for testing purposes, it seems unlikely the PV has problem at that moment and I don't see any problem message with the disk. ``` 2513 /* FIXME Avoid repeating identical stat in dm_tree_node_add_target_area */ 2514 for (s =3D start_area; s < areas; s++) { 2515 if ((seg_type(seg, s) =3D=3D AREA_PV && 2516 (!seg_pvseg(seg, s) || !seg_pv(seg, s) || !seg_dev(seg, s) || 2517 !(name =3D dev_name(seg_dev(seg, s))) || !*name= || 2518 stat(name, &info) < 0 || !S_ISBLK(info.st_mode)= )) || 2519 (seg_type(seg, s) =3D=3D AREA_LV && !seg_lv(seg, s= ))) { 2520 if (!seg->lv->vg->cmd->partial_activation) { 2521 if (!seg->lv->vg->cmd->degraded_activation || 2522 !lv_is_raid_type(seg->lv)) { 2523 log_error("Aborting. LV %s is now incomplete " 2524 "and '--activationmode partial' was not specified.", 2525 display_lvname(seg->= lv)); 2526 return 0; ``` So, does anyone see the same problem? Or any hints to hunt the root cause? Any suggestion would be welcome! Regards, Eric --000000000000e51a32058636412c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello list,

Recently, we're exercising our container environment which uses = lvm to manage thin LVs, meanwhile we found a very strange error to activate= the thin LV:

=E2=80=9CAborting.=C2=A0 LV mythinpo= ol_tmeta is now incomplete and '--activationmode partial' was not s= pecified.\n: exit status 5: unknown"

centos 7= .6
# lvm version
=C2=A0 LVM version:=C2=A0 =C2=A0 = =C2=A02.02.180(2)-RHEL7 (2018-07-20)
=C2=A0 Library version: 1.02= .149-RHEL7 (2018-07-20)
=C2=A0 Driver version:=C2=A0 4.35.0
=

It has appeared several times, but can not be rep= roduced easily by simple steps, and it only errors at that moment, after it= happens everything seems OK but only that activation failed.
Looking at the code a bit. At first, I suspect the PV may disap= pear for some reason, but the VG sits on only one PV, the setup is simple, = the environment is only for testing purposes, it seems unlikely the PV has = problem at that moment and I don't see any problem message with the dis= k.

```
2513         /=
* FIXME Avoid repeating identical stat in dm_tree_node_add_target_area */2514         for (s =3D start_area; s <=
; areas; s++) {
2515 if = ((seg_type(seg, s) =3D=3D AREA_PV &&
2516 (!seg_pvseg(seg, s) || !seg_pv(seg, s) || !s= eg_dev(seg, s) ||
2517 = !(name =3D dev_name(seg_dev(seg, s))) || !*name ||
2518 stat(name, &info) < 0 |= | !S_ISBLK(info.st_mode))) ||
2519 = (seg_type(seg, s) =3D=3D AREA_LV && !seg_lv(seg, s))= ) {
2520 if (!se= g->lv->vg->cmd->partial_activation) {
2521 if (!seg->lv->vg->c= md->degraded_activation ||
2522 = !lv_is_raid_type(seg->lv)) {
2523 log_err= or("Aborting. LV %s is now incomplete "
2524 "and= '--activationmode partial' was not specified.",
2525 = display_lvname(seg->lv));
2526 = return 0;
```
So, does anyone see the same problem? Or any hints to hunt the root cause?= Any suggestion would be welcome!

Regards,
Eric
--000000000000e51a32058636412c--