Skip to contentSkip to conversation

multipath: update discovery for sysfs layout changes

PATCH New Hannes Reinecke 1 participant 1 message Mar 20, 2008 Device mapper

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 multipath: update discovery for sysfs layout changes

Hi Christophe,

this patch updates the discovery to work when SYSFS_DEPRECATED is not set. The change here is that the parent of a block device is 'block', and the 'real' parent is the parent of that. Easy and non-intrusive change.

Please apply.

Cheers,

Hannes

Signature · 4 lines
Dr. Hannes Reinecke		      zSeries & Storage
[email protected]			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)

commit e178e517afac5c66403baf564479da31b1219041

Author: Hannes Reinecke <[email protected]>
Date:   Thu Mar 20 09:19:34 2008 +0100

Update discovery to work with new sysfs layout

With the new sysfs layout the parent device of a block device it 'block', and only the parent of this is the 'real' parent.

libmultipath/discovery.c +3 -0
index a85a248..30c36e5 100644
@@ -550,6 +550,9 @@ sysfs_pathinfo(struct path * pp)
 	if (!parent)
 		parent = pp->sysdev;
 
+	if (!strncmp(parent->kernel, "block",5))
+		parent = sysfs_device_get_parent(parent);
+
 	condlog(3, "%s: subsystem = %s", pp->dev, parent->subsystem);
 
 	if (!strncmp(parent->subsystem, "scsi",4))