commit c527a0cbfc3 may have a bug

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

 




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/




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

  Powered by Linux