[dm-devel] multipath.rules placement

Hannes Reinecke hare at suse.de
Wed Nov 9 07:52:02 UTC 2016


On 11/08/2016 08:56 PM, Benjamin Marzinski wrote:
> I'm looking through the multipath udev rules again to see if we can come
> closer to one consistent set, or at least understand why we need to
> agree to disagree and right now I'm trying to figure out why it's
> important for SUSE to have 56-multipath.rules run before
> 60-persistent-storage.rules.
>
> We use 62-multipath.rules in RHEL for two main reasons. First, scsi_id
> is run in 60-persistent-storage.rules, which is what sets ID_SERIAL, so
> if multipath.rules is run before that, we'll never be able to get our
> information from udev. I know that you've added code to cope with this,
> assuming the standard uid_attribute, but it seems better to me to just
> wait for udev to fill in these values itself.
>
> Second, 60-persistent-storage.rules runs blkid, which should set
> ID_FS_TYPE.  Setting it in 56-multipath.rules just means that
> 60-persistent-storage.rules will overwrite it.
>
> So, what do we gain by running multipath.rules before
> 60-persistent-storage.rules?
>
Yeah, it's slightly inconsistent.

Actually we are using the rules from sg3_utils (55-scsi-sg_id.rules and 
58-scsi-sg3_symlink.rules), which will set ID_SERIAL prior to calling 
56-multipath.rules.
Hence it works for us :-)

The main idea here is to deprecate scsi_id, with the goal of eventually 
dropping it from systemd/udev.

However, the idea of this particular placement is precisely that we do 
_not_ call scsi_id and blkid in 60-persistent-storage.rules for any 
devices which are found to be part of a multipath device.
Doing so would not only give pointless information, but also there's a 
fair chance that it wouldn't get you any information whatsoever in the 
case of standby paths or during failover.
Or even stall the entire rule as it's stuck doing I/O.

My plan is to split off the call to 'scsi_id' from 
60-persistent-storage.rules, (eg to 56-scsi-scsi_id.rules), and my 
multipath to 57.
Then we would have:

55-scsi-sg_id.rules
56-scsi-scsi_id.rules
-> ID_SERIAL is set from this point on
57-multipath.rules
58-sg3_symlink.rules
60-persistent-storage.rules

and then everything would be far more consistent.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		   Teamlead Storage & Networking
hare at suse.de			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)




More information about the dm-devel mailing list