[linux-lvm] device filter in lvm.conf

Bryn M. Reeves bmr at redhat.com
Wed Nov 12 18:12:45 UTC 2008

Tuncel.Mutlu at akbank.com wrote:
> filter = [ "a/sda[1-9]$/" "a/sddlm*/" "r/.*/" ]
> and types row has been added
> types = [ "sddlmfdrv", 16 ]
> This has been known to work on another Linux box, but not here. How must I
> alter the filter so the LVM should accept sda and sddlm devices but reject
> all others ?

When you say it doesn't work on this box, what actually happens? Do you 
fail to filter out the individual paths, or do you fail to include the 
multipath device that you want to use?

You may find that removing the cache (/etc/lvm/cache/.cache) after 
editing the filters straightens things out (this should be automatic but 
I've found that on some releases I've needed to manually remove it).

Also, is the filter really what you wanted?

 > filter = [ "a/sda[1-9]$/" "a/sddlm*/" "r/.*/" ]

This says to accept devices that have a string "sddl" followed by any 
zero or more "m" characters. I don't know the naming scheme for HDLM, 
but your example implies that they'd follow a pattern of 
sddlm[a-z][a-z], or something.

Perhaps "a/sddlm.*/" would work better (sddlm followed by any number of 
any character), since you're unlikely to have other device nodes with a 
prefix of sddlm. You could tighten that up further as: "a|/dev/sddlm.*|" 
if you liked (lvm filter expressions work like sed - you can uniformly 
replace the '//' delimiters with other chars - I like pipes as it means 
you need less \/ escaping when using paths).


More information about the linux-lvm mailing list