[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[dm-devel] [PATCH] 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
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare suse de			      +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 <hare suse de>
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.
    
    Signed-off-by: Hannes Reinecke <hare suse de>

diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c
index a85a248..30c36e5 100644
--- a/libmultipath/discovery.c
+++ b/libmultipath/discovery.c
@@ -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))

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]