Hi, Here is the code snippet from scsi_sysfs_pathinfo function. attr is not closed when target node name is collected successfully. The function just returns 0 at the end. Shouldn't it be sysfs_close_attribute(attr); and then return 0; ??? /* * target node name */ if(safe_sprintf(attr_path, "%s/class/fc_transport/target%i:%i:%i/node_name", sysfs_path, pp->sg_id.host_no, pp->sg_id.channel, pp->sg_id.scsi_id)) { condlog(0, "attr_path too small"); return 1; } if (!(attr = sysfs_open_attribute(attr_path))) return 0; if (sysfs_read_attribute(attr)) goto err; if (attr->len > 0) strncpy(pp->tgt_node_name, attr->value, attr->len - 1); condlog(3, "%s: tgt_node_name = %s", pp->dev, pp->tgt_node_name); return 0; err: sysfs_close_attribute(attr); return 1; Best Regards, Rajashekhar M A -----Original Message----- From: bmarzins@xxxxxxxxxxxxxx [mailto:bmarzins@xxxxxxxxxxxxxx] Sent: Friday, June 01, 2007 5:57 AM To: dm-cvs@xxxxxxxxxxxxxx; dm-devel@xxxxxxxxxx Subject: multipath-tools libmultipath/discovery.c libmu ... CVSROOT: /cvs/dm Module name: multipath-tools Branch: RHEL5_FC6 Changes by: bmarzins@xxxxxxxxxxxxxx 2007-06-01 00:26:42 Modified files: libmultipath : discovery.c switchgroup.c Added files: path_priority/pp_rdac: Makefile pp_rdac.c Log message: Reverting the earlier RDAC related path priority fixes, and addning the new priority callout. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/di scovery.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.32.2.3&r2=1.32.2. 4 http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/sw itchgroup.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.5.2.1&r2=1.5.2. 2 http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/path_priority/p p_rdac/Makefile.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=NONE&r2=1.1.2 .1 http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/path_priority/p p_rdac/pp_rdac.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=NONE&r2=1.1. 2.1 --- multipath-tools/libmultipath/discovery.c 2007/05/02 00:16:36 1.32.2.3 +++ multipath-tools/libmultipath/discovery.c 2007/06/01 00:26:41 1.32.2.4 @@ -763,7 +763,7 @@ if (mask & DI_CHECKER && get_state(pp)) goto blank; - if (mask & DI_PRIO && pp->state == PATH_UP) + if (mask & DI_PRIO && pp->state != PATH_DOWN) get_prio(pp); if (mask & DI_WWID && !strlen(pp->wwid)) --- multipath-tools/libmultipath/switchgroup.c 2007/04/24 18:49:16 1.5.2.1 +++ multipath-tools/libmultipath/switchgroup.c 2007/06/01 00:26:41 1.5.2.2 @@ -28,7 +28,7 @@ priority = 0; vector_foreach_slot (pgp->paths, pp, j) { - if (pp->state == PATH_UP) + if (pp->state != PATH_DOWN) priority += pp->priority; } pgp->priority = priority; -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel