Hello list & David,
The stable-2.02 branch commit c527a0cbfc391645d30407d2 may intruduce a bug.
There is a new function label_scan_pvscan_all(), which uses
cmd->lvmetad_filter to create devices list for scan.
code:
```
label_scan_pvscan_all
if (!(iter = dev_iter_create(cmd->lvmetad_filter, 0)))
... ...
while ((dev = dev_iter_get(iter)))
... ...
```
It looks it is wrong to use cmd->lvmetad_filter in label_scan_pvscan_all.
The behaviour is changed after the patch applied. (legacy code use
cmd->full_filter)
When system has duplicated devices and startup, with patch c527a0cb, the
duplicated devs will pass global_filter (usually it's empty). It makes
lvmetad fail to build up LV, then the system boot failed. This case is
not my imagination, one of our customer met recently.
So I suggest to change the cmd->lvmetad_filter to cmd->full_filter in
label_scan_pvscan_all().
The steps to reproduce:
```
create a loop dev.
use this loop to create some mapper devs. (share the same loop dev)
pvcreate on these mapper devs
# this cmd will output warning msg.
pvscan --cache --config ' devices { filter = [ "r|/dev/loop0|" } '
# this cmd will not output warning msg.
pvscan --cache --config ' devices { filter = [ "a|/dev/loop0|" ]
global_filter = [ "r|/dev/loop0|" ] } '
```
Thanks.
_______________________________________________
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/