From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Harrington Date: Fri, 30 Nov 2007 15:45:54 +0000 Subject: problems with scsi device id and scsi_id Message-Id: <47503032.6060005@eons.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org I have been using multipath for some time to handle fibre connections to my san. After upgrading the systems to centos5 (from centos4), multipathing ceased to work because of changes in udev and the unique ids returned by scsi_id. This change happened between versions 077 and 078. In version 077, both paths return the same id: [root@sys-app101 ~]# udev-077/extras/scsi_id/scsi_id -g -u -s /block/sdg 36000402001fc11026fdcd8b200000000 [root@sys-app101 ~]# udev-077/extras/scsi_id/scsi_id -g -u -s /block/sdw 36000402001fc11026fdcd8b200000000 In version 078, the paths return different ids: [root@sys-app101 ~]# udev-078/extras/scsi_id/scsi_id -g -u -s /block/sdg 3010383106000402001fc11026fdcd8b2000000000114460402000000 [root@sys-app101 ~]# udev-078/extras/scsi_id/scsi_id -g -u -s /block/sdw 3010383106000402001fc11026fdcd8b2000000000114460401000000 This is a problem because multipath uses `/sbin/scsi_id -g -u -s /block/%n' to probe each path for a particular device. Is this an intentional change of behavior and is there a new/better way to identify two paths pointing to the same device? Is there any consequence of replacing my system scsi_id binary (095) with one build from an older version of udev? System info follows. Thanks in advance, Matt Harrington [root@sys-app101 udev-078]# uname -a Linux sys-app101.eons.dev 2.6.18-8.1.10.el5.centos.plus #1 SMP Tue Sep 18 05:08:16 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux [root@sys-app101 ~]# cat /etc/udev/udev.conf # udev.conf # The initial syslog(3) priority: "err", "info", "debug" or its # numerical equivalent. For runtime debugging, the daemons internal # state can be changed with: "udevcontrol log_priority=". udev_log="err" [root@sys-app101 ~]# cat /etc/scsi_id.config # # scsi_id configuration # # lower or upper case has no affect on the left side. Quotes (") are # required for spaces in values. Model is the same as the SCSI # INQUIRY product identification field. Per the SCSI INQUIRY, the vendor # is limited to 8 bytes, model to 16 bytes. # # The first matching line found is used. Short matches match longer ones, # if you do not want such a match space fill the extra bytes. If no model # is specified, only the vendor string need match. # # options= # vendor=string[,model=string],options= # some libata drives require vpd page 0x80 vendor="ATA",options=-p 0x80 [root@sys-app101 ~]# udev-077/extras/scsi_id/scsi_id -v -g -u -s /block/sdg set_options: option 'g' set_options: option 'u' set_options: option 's' arg '/block/sdg' scsi_id: target_path /sys/block/sdg scsi_id: class_dev 0x0xbfb0010; class_dev_parent 0x(nil) create_tmp_dev: (sdg) get_major_minor: dev value 8:96 create_tmp_dev: tmpdev '/dev/tmp-scsi-maj8-min96-17247' get_file_options: vendor='NEXSAN '; model='SATABeast ' get_file_options: config file line 17: vendor 'ATA'; model '(null)'; options '-p 0x80' get_file_options: no match scsi_id: per dev options: good 1; page code 0x0; callout '' scsi_id: buffer unaligned 0x0xbfb0c90; aligned 0x0xbfb0e00 scsi_get_serial: opening /dev/tmp-scsi-maj8-min96-17247 scsi_inquiry: 1:0:0:10 evpd 1, page 0x0 scsi_get_serial: 1:0:0:10: Checking page0 scsi_inquiry: 1:0:0:10 evpd 1, page 0x83 do_scsi_page83_inquiry: 1:0:0:10 id desc 3/6/1 do_scsi_page83_inquiry: used 36000402001fc11026fdcd8b200000000 scsi_id: 36000402001fc11026fdcd8b200000000 [root@sys-app101 ~]# udev-077/extras/scsi_id/scsi_id -v -g -u -s /block/sdw set_options: option 'g' set_options: option 'u' set_options: option 's' arg '/block/sdw' scsi_id: target_path /sys/block/sdw scsi_id: class_dev 0x0x10567010; class_dev_parent 0x(nil) create_tmp_dev: (sdw) get_major_minor: dev value 65:96 create_tmp_dev: tmpdev '/dev/tmp-scsi-maj65-min96-17248' get_file_options: vendor='NEXSAN '; model='SATABeast ' get_file_options: config file line 17: vendor 'ATA'; model '(null)'; options '-p 0x80' get_file_options: no match scsi_id: per dev options: good 1; page code 0x0; callout '' scsi_id: buffer unaligned 0x0x10567c90; aligned 0x0x10567e00 scsi_get_serial: opening /dev/tmp-scsi-maj65-min96-17248 scsi_inquiry: 2:0:2:10 evpd 1, page 0x0 scsi_get_serial: 2:0:2:10: Checking page0 scsi_inquiry: 2:0:2:10 evpd 1, page 0x83 do_scsi_page83_inquiry: 2:0:2:10 id desc 3/6/1 do_scsi_page83_inquiry: used 36000402001fc11026fdcd8b200000000 scsi_id: 36000402001fc11026fdcd8b200000000 [root@sys-app101 ~]# udev-078/extras/scsi_id/scsi_id -v -g -u -s /block/sdg set_options: option 'g' set_options: option 'u' set_options: option 's' arg '/block/sdg' scsi_id: target_path /sys/block/sdg scsi_id: class_dev 0x0x3d9b010; class_dev_parent 0x(nil) create_tmp_dev: (sdg) get_major_minor: dev value 8:96 create_tmp_dev: tmpdev '/dev/tmp-scsi-maj8-min96-17249' get_file_options: vendor='NEXSAN '; model='SATABeast ' get_file_options: config file line 17: vendor 'ATA'; model '(null)'; options '-p 0x80' get_file_options: no match scsi_id: per dev options: good 1; page code 0x0; callout '' scsi_id: buffer unaligned 0x0x3d9bc90; aligned 0x0x3d9be00 scsi_get_serial: opening /dev/tmp-scsi-maj8-min96-17249 scsi_inquiry: 1:0:0:10 evpd 1, page 0x0 scsi_get_serial: 1:0:0:10: Checking page0 scsi_inquiry: 1:0:0:10 evpd 1, page 0x83 check_fill_0x83_prespc3: using pre-spc3-83 for 1:0:0:10. 3010383106000402001fc11026fdcd8b2000000000114460402000000 scsi_id: 3010383106000402001fc11026fdcd8b2000000000114460402000000 [root@sys-app101 ~]# udev-078/extras/scsi_id/scsi_id -v -g -u -s /block/sdw set_options: option 'g' set_options: option 'u' set_options: option 's' arg '/block/sdw' scsi_id: target_path /sys/block/sdw scsi_id: class_dev 0x0xce8d010; class_dev_parent 0x(nil) create_tmp_dev: (sdw) get_major_minor: dev value 65:96 create_tmp_dev: tmpdev '/dev/tmp-scsi-maj65-min96-17250' get_file_options: vendor='NEXSAN '; model='SATABeast ' get_file_options: config file line 17: vendor 'ATA'; model '(null)'; options '-p 0x80' get_file_options: no match scsi_id: per dev options: good 1; page code 0x0; callout '' scsi_id: buffer unaligned 0x0xce8dc90; aligned 0x0xce8de00 scsi_get_serial: opening /dev/tmp-scsi-maj65-min96-17250 scsi_inquiry: 2:0:2:10 evpd 1, page 0x0 scsi_get_serial: 2:0:2:10: Checking page0 scsi_inquiry: 2:0:2:10 evpd 1, page 0x83 check_fill_0x83_prespc3: using pre-spc3-83 for 2:0:2:10. 3010383106000402001fc11026fdcd8b2000000000114460401000000 scsi_id: 3010383106000402001fc11026fdcd8b2000000000114460401000000 ------------------------------------------------------------------------- SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel