我在 lvm 过滤器配置方面遇到了问题。
我想从 lvm 扫描中过滤掉某些设备/分区。我可以通过如下方式创建过滤器来实现:
filter = ["a|/dev/disk/by-partuuid/<uuid>|", "r|.*|"]
这将仅扫描给定的分区并跳过任何其他设备,但对我来说,这很麻烦。
这意味着每次我添加新分区/磁盘(大多数时候我在那里设置 lvm 资源)时,我都必须记住并手动更改 lvm 过滤器以接受该新设备。
我认为它会以相反的方式工作 - 拒绝选定的设备并接受 lvm 过滤器中的任何其他设备。
filter = ["r|/dev/disk/by-partuuid/<uuid>|", "a|.*|"]
但看起来 lvm 不会在第一个匹配的过滤规则上停止,它会继续前进,最后接受所有规则。
有趣的是,它看起来像这样设置过滤器:
filter = ["r|/dev/disk/by-partuuid/<uuid>|"]
实际上按照我想要的方式工作并扫描过滤器中未排除的设备。
但我想知道为什么?它应该以这种方式与第二个示例一起工作吗?如果我不在include
过滤器中提供任何规则,为什么它仍然有效?