On Mon, 2021-02-01 at 20:22 -0600, Benjamin Marzinski wrote: > On Thu, Jan 28, 2021 at 09:45:42PM +0100, mwilck@xxxxxxxx wrote: > > From: Martin Wilck <mwilck@xxxxxxxx> > > > > On SAS expanders, node id's have 3 digits. sysfs paths look like > > this: > > > > /sys/devices/pci0000:80/0000:80:02.0/0000:8b:00.0/0000:8c:09.0/0000 > > :8f:00.0/host9/port-9:0/expander-9:0/port-9:0:13/expander-9:1/port- > > 9:1:12/expander-9:2/port-9:2:4/end_device- > > 9:2:4/target9:0:29/9:0:29:0/block/sdac > > > > In that case, we should use the last digit as transport id. > > > > Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> > > --- > > libmultipath/discovery.c | 11 +++++++++-- > > 1 file changed, 9 insertions(+), 2 deletions(-) > > > > diff --git a/libmultipath/discovery.c b/libmultipath/discovery.c > > index e818585..f3ce3f8 100644 > > --- a/libmultipath/discovery.c > > +++ b/libmultipath/discovery.c > > @@ -358,9 +358,16 @@ sysfs_get_tgt_nodename(struct path *pp, char > > *node) > > if (value) { > > tgtdev = udev_device_get_parent(parent); > > while (tgtdev) { > > + char c; > > + > > tgtname = udev_device_get_sysname(tgtdev); > > - if (tgtname && sscanf(tgtname, "end_device- > > %d:%d", > > - &host, &tgtid) == 2) > > + if (!tgtname) > > + continue; > > won't this make and endless loop if tgtname == NULL Ouch. Thanks for spotting this. Martin -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel