David Huffman wrote: > Hannes Reinecke wrote: >> David Huffman wrote: >> >>> In a script, I need to somehow determine what prefix is being used for >>> partitions as set by UDEV. It seems that the naming convention is in >>> flux and could change frequently. When using user_friendly_names the >>> prefix is set using kpartx within udev rules. My problem is I need to >>> know what the prefix is so my scripts know what device naming convention >>> to look for. >>> >>> Here are the different iterations of naming schemes: >>> >>> mpath0p1 >>> mpath0-part1 >>> mpathap1 >>> mpatha-part1 >>> >>> Is there a way other than grepping through the udev rules to determine >>> what the prefix is? The partitions may not exist so I cannot just look >>> to see what they are. I need to know BEFORE I create partitions. I know >>> this is a strange request, but I am working with a lot of code that was >>> designed before multipath was available and using the sys naming is not >>> an option (i.e. /disk/by-id/wwid). >>> >>> >> I wouldn't rely on the device-mapper table names, as they could be pretty >> much everything. >> >> To handle this situation I've patches up multipath and kpartx to provide >> UUID prefixes, which normally can't be influenced from userspace. >> Multipath devices carry the prefix 'mpath-', kpartx generated devices >> carry the prefix 'part<num>-'. >> So by checking the prefix you pretty much know which program generated >> this particular device. >> >> Cheers, >> >> Hannes >> > Humm.. Maybe I did not explain myself well enough because I do not > understand your response. I am trying to determine what prefix is > currently being used for the partitions by kpartx. > > Example: > If I am on a SLES9 SP4 system there is a udev rule that states to use > kpartx -a -p -part so that the prefix is "-part". Partitions that are > created later are named [alias|mpath|uuid]a-part1. > If I am on a RHEL 5.1 system, there is a udev rule that states to use > kpartx -a -p p so that the prefix is "p". > Partitions that are created later are named [alias|uuid|mpath]0p1 > > Right now, the only way I can find out what prefix is used for > partitions is to grep and awk through the udev rule (which is > unreliable). I am looking for a better way to see what prefix is > currently being used by kpartx. > Ah. Leads to the question: Why? What's the whole point of the exercise? > When you state that you have a patch to provide UUID prefixes, I do not > understand. If you are not using "user_friendly_names yes" in > multipath.conf, isn't it already the uuid? How does this change the > naming of the partitions used? Right now it could be "-part" or "p". > Nothing to do with multipath. If you do a 'dmsetup info' you'll see something like: Name: 3600508b40008ddd70000500000250000 State: ACTIVE Read Ahead: 1024 Tables present: LIVE Open count: 1 Event number: 19 Major, minor: 253, 11 Number of targets: 1 UUID: mpath-3600508b40008ddd70000500000250000 The last line is the UUID I'm talking about. > Sorry but my limited knowledge of the naming schemes is probably > confusing the issue. It appears that there are too many players on the > field when it comes to naming these devices. (UDEV, multipath, > device-mapper) > Again, what do you need it for? The whole exercise is already quite cumbersome if you have only _one_ device-mapper device for a partition; however, nothing prevents you on calling kpartx (or some other tools) again with a different prefix and hence a different name. So you'll end up with several device-mapper tables with identical definitions but different names. Which one will you pick then? Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage hare@xxxxxxx +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Markus Rex, HRB 16746 (AG Nürnberg) -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel