Hi Sanjay, could I please ask you to review the fix for following bug ?
10448 Target Discovery dumps core on build >=119 in OS discovery if UFS Solaris instances are present * Webrev: http://cr.opensolaris.org/~dambi/bug-10448 Thank you very much, Jan Modules affected and tested: * Target Discovery - libtd tests carried out: * Sanjay created LiveCD ISO images based on build 120 with and without fixed libtd - Mary did the tests: - system installed with Solaris on UFS, then GUI installer was tested: - GUI installer crashed on LiveCD w/o the fix - GUI installer didn't crash on LiveCD w/ the fix * tested OS discovery with tdmgsts test driver with and without the fix [1] w/o the fix - TD crashed: ----------------------------- # /tmp/tdmgtst_static1 -d Caiman Target Discovery test program - Version 4 disk discovery: 2 found - getting attributes... disk 0) ddm_disk_size=143374737 (uint64) ddm_disk_block_size=512 (uint32) ddm_disk_mtype=1 (uint32) ddm_disk_nheads=255 (uint32) ddm_disk_nsectors=63 (uint32) ddm_disk_name=c2t2d0 ddm_disk_currboot=yes ddm_disk_vendor_id=SEAGATE ddm_disk_product_id=ST973401LSUN72G ddm_disk_dev_id=/dev/rdsk/c2t2d0s0 ddm_disk_ctype=scsi ddm_disk_label=5 (uint32) disk 1) ddm_disk_size=143374737 (uint64) ddm_disk_block_size=512 (uint32) ddm_disk_mtype=1 (uint32) ddm_disk_nheads=255 (uint32) ddm_disk_nsectors=63 (uint32) ddm_disk_name=c2t3d0 ddm_disk_vendor_id=FUJITSU ddm_disk_product_id=MAY2073RCSUN72G ddm_disk_dev_id=/dev/rdsk/c2t3d0s0 ddm_disk_ctype=scsi ddm_disk_label=5 (uint32) partition discovery: 2 found - getting attributes... partition 0) ddm_part_bootid=128 (uint32) ddm_part_type=191 (uint32) ddm_part_start=16065 (uint32) ddm_part_size=143347995 (uint32) ddm_part_name=c2t2d0p1 ddm_part_content=0 (uint32) partition 1) ddm_part_bootid=0 (uint32) ddm_part_type=191 (uint32) ddm_part_start=16065 (uint32) ddm_part_size=143347995 (uint32) ddm_part_name=c2t3d0p1 ddm_part_content=0 (uint32) slice discovery: 10 found - getting attributes... slice 0) ddm_slice_index=8 (uint32) ddm_slice_start=0 (uint64) ddm_slice_size=16065 (uint64) ddm_slice_tag=1 (uint32) ddm_slice_flag=1 (uint32) ddm_slice_devt=54526088 (uint64) ddm_slice_devid=id1,sd at SSEAGATE_ST973401LSUN72G_0210C8HQ____________3LB0C8HQ/i ddm_slice_name=c2t2d0s8 ddm_slice_lastmnt= slice 1) ddm_slice_index=7 (uint32) ddm_slice_start=28949130 (uint64) ddm_slice_size=114366735 (uint64) ddm_slice_tag=8 (uint32) ddm_slice_flag=0 (uint32) ddm_slice_devt=54526087 (uint64) ddm_slice_devid=id1,sd at SSEAGATE_ST973401LSUN72G_0210C8HQ____________3LB0C8HQ/h ddm_slice_name=c2t2d0s7 ddm_slice_lastmnt=/tmp/td_rootJkaOyb/export/home slice 2) ddm_slice_index=2 (uint32) ddm_slice_start=0 (uint64) ddm_slice_size=143315865 (uint64) ddm_slice_tag=5 (uint32) ddm_slice_flag=0 (uint32) ddm_slice_devt=54526082 (uint64) ddm_slice_devid=id1,sd at SSEAGATE_ST973401LSUN72G_0210C8HQ____________3LB0C8HQ/c ddm_slice_name=c2t2d0s2 ddm_slice_lastmnt= slice 3) ddm_slice_index=1 (uint32) ddm_slice_start=16065 (uint64) ddm_slice_size=1060290 (uint64) ddm_slice_tag=3 (uint32) ddm_slice_flag=1 (uint32) ddm_slice_devt=54526081 (uint64) ddm_slice_devid=id1,sd at SSEAGATE_ST973401LSUN72G_0210C8HQ____________3LB0C8HQ/b ddm_slice_name=c2t2d0s1 ddm_slice_lastmnt= slice 4) ddm_slice_index=0 (uint32) ddm_slice_start=1076355 (uint64) ddm_slice_size=27872775 (uint64) ddm_slice_tag=2 (uint32) ddm_slice_flag=0 (uint32) ddm_slice_devt=54526080 (uint64) ddm_slice_devid=id1,sd at SSEAGATE_ST973401LSUN72G_0210C8HQ____________3LB0C8HQ/a ddm_slice_name=c2t2d0s0 ddm_slice_lastmnt=/ slice 5) ddm_slice_index=8 (uint32) ddm_slice_start=0 (uint64) ddm_slice_size=16065 (uint64) ddm_slice_tag=1 (uint32) ddm_slice_flag=1 (uint32) ddm_slice_devt=54526152 (uint64) ddm_slice_devid=id1,sd at n500000e01206b4c0/i ddm_slice_name=c2t3d0s8 ddm_slice_lastmnt=/a slice 6) ddm_slice_index=7 (uint32) ddm_slice_start=16065 (uint64) ddm_slice_size=143299800 (uint64) ddm_slice_tag=8 (uint32) ddm_slice_flag=0 (uint32) ddm_slice_devt=54526151 (uint64) ddm_slice_devid=id1,sd at n500000e01206b4c0/h ddm_slice_name=c2t3d0s7 ddm_slice_lastmnt=/tmp/td_rootJkaOyb/export/home0 slice 7) ddm_slice_index=2 (uint32) ddm_slice_start=0 (uint64) ddm_slice_size=143315865 (uint64) ddm_slice_tag=5 (uint32) ddm_slice_flag=0 (uint32) ddm_slice_devt=54526146 (uint64) ddm_slice_devid=id1,sd at n500000e01206b4c0/c ddm_slice_name=c2t3d0s2 ddm_slice_lastmnt=/a slice 8) [empty nvlist] slice 9) [empty nvlist] Segmentation Fault (core dumped) [2] w/ the fix - crash didn't occur, TD found Solaris instance -------------------------------------------------------------- # /tmp/tdmgtst_static -d Caiman Target Discovery test program - Version 4 disk discovery: 2 found - getting attributes... disk 0) ddm_disk_size=143374737 (uint64) ddm_disk_block_size=512 (uint32) ddm_disk_mtype=1 (uint32) ddm_disk_nheads=255 (uint32) ddm_disk_nsectors=63 (uint32) ddm_disk_name=c2t2d0 ddm_disk_currboot=yes ddm_disk_vendor_id=SEAGATE ddm_disk_product_id=ST973401LSUN72G ddm_disk_dev_id=/dev/rdsk/c2t2d0s0 ddm_disk_ctype=scsi ddm_disk_label=5 (uint32) disk 1) ddm_disk_size=143374737 (uint64) ddm_disk_block_size=512 (uint32) ddm_disk_mtype=1 (uint32) ddm_disk_nheads=255 (uint32) ddm_disk_nsectors=63 (uint32) ddm_disk_name=c2t3d0 ddm_disk_vendor_id=FUJITSU ddm_disk_product_id=MAY2073RCSUN72G ddm_disk_dev_id=/dev/rdsk/c2t3d0s0 ddm_disk_ctype=scsi ddm_disk_label=5 (uint32) partition discovery: 2 found - getting attributes... partition 0) ddm_part_bootid=128 (uint32) ddm_part_type=191 (uint32) ddm_part_start=16065 (uint32) ddm_part_size=143347995 (uint32) ddm_part_name=c2t2d0p1 ddm_part_content=0 (uint32) partition 1) ddm_part_bootid=0 (uint32) ddm_part_type=191 (uint32) ddm_part_start=16065 (uint32) ddm_part_size=143347995 (uint32) ddm_part_name=c2t3d0p1 ddm_part_content=0 (uint32) slice discovery: 10 found - getting attributes... slice 0) ddm_slice_index=8 (uint32) ddm_slice_start=0 (uint64) ddm_slice_size=16065 (uint64) ddm_slice_tag=1 (uint32) ddm_slice_flag=1 (uint32) ddm_slice_devt=54526088 (uint64) ddm_slice_devid=id1,sd at SSEAGATE_ST973401LSUN72G_0210C8HQ____________3LB0C8HQ/i ddm_slice_name=c2t2d0s8 ddm_slice_lastmnt= slice 1) ddm_slice_index=7 (uint32) ddm_slice_start=28949130 (uint64) ddm_slice_size=114366735 (uint64) ddm_slice_tag=8 (uint32) ddm_slice_flag=0 (uint32) ddm_slice_devt=54526087 (uint64) ddm_slice_devid=id1,sd at SSEAGATE_ST973401LSUN72G_0210C8HQ____________3LB0C8HQ/h ddm_slice_name=c2t2d0s7 ddm_slice_lastmnt=/tmp/td_rootJkaOyb/export/home slice 2) ddm_slice_index=2 (uint32) ddm_slice_start=0 (uint64) ddm_slice_size=143315865 (uint64) ddm_slice_tag=5 (uint32) ddm_slice_flag=0 (uint32) ddm_slice_devt=54526082 (uint64) ddm_slice_devid=id1,sd at SSEAGATE_ST973401LSUN72G_0210C8HQ____________3LB0C8HQ/c ddm_slice_name=c2t2d0s2 ddm_slice_lastmnt= slice 3) ddm_slice_index=1 (uint32) ddm_slice_start=16065 (uint64) ddm_slice_size=1060290 (uint64) ddm_slice_tag=3 (uint32) ddm_slice_flag=1 (uint32) ddm_slice_devt=54526081 (uint64) ddm_slice_devid=id1,sd at SSEAGATE_ST973401LSUN72G_0210C8HQ____________3LB0C8HQ/b ddm_slice_name=c2t2d0s1 ddm_slice_lastmnt= slice 4) ddm_slice_index=0 (uint32) ddm_slice_start=1076355 (uint64) ddm_slice_size=27872775 (uint64) ddm_slice_tag=2 (uint32) ddm_slice_flag=0 (uint32) ddm_slice_devt=54526080 (uint64) ddm_slice_devid=id1,sd at SSEAGATE_ST973401LSUN72G_0210C8HQ____________3LB0C8HQ/a ddm_slice_name=c2t2d0s0 ddm_slice_lastmnt=/ slice 5) ddm_slice_index=8 (uint32) ddm_slice_start=0 (uint64) ddm_slice_size=16065 (uint64) ddm_slice_tag=1 (uint32) ddm_slice_flag=1 (uint32) ddm_slice_devt=54526152 (uint64) ddm_slice_devid=id1,sd at n500000e01206b4c0/i ddm_slice_name=c2t3d0s8 ddm_slice_lastmnt=/a slice 6) ddm_slice_index=7 (uint32) ddm_slice_start=16065 (uint64) ddm_slice_size=143299800 (uint64) ddm_slice_tag=8 (uint32) ddm_slice_flag=0 (uint32) ddm_slice_devt=54526151 (uint64) ddm_slice_devid=id1,sd at n500000e01206b4c0/h ddm_slice_name=c2t3d0s7 ddm_slice_lastmnt=/tmp/td_rootJkaOyb/export/home0 slice 7) ddm_slice_index=2 (uint32) ddm_slice_start=0 (uint64) ddm_slice_size=143315865 (uint64) ddm_slice_tag=5 (uint32) ddm_slice_flag=0 (uint32) ddm_slice_devt=54526146 (uint64) ddm_slice_devid=id1,sd at n500000e01206b4c0/c ddm_slice_name=c2t3d0s2 ddm_slice_lastmnt=/a slice 8) [empty nvlist] slice 9) [empty nvlist] Solaris instance discovery: 1 found - getting attributes... Solaris instance 0) os_version=Solaris_11 os_slice_name=c2t2d0s0 os_build_id=snv_115 releasing resources... finished.