Hi Alex, the fix looks good with respect to the overall approach taken and the chosen scope at this point, I have only couple of comments/nits related to the implementation - please see below.
Also, could you please updated bug with this information (chosen solution and scope) and put it into at least FIXUNDERSTOOD state ? Thank you, Jan ti_api.h -------- 77 - this new milestone should not be added - it is only used in scenario where TI target is determined implicitly (TI_ATTR_TARGET_TYPE attribute is not specified) which is not the case here - TI_ATTR_TARGET_TYPE has to be set to TI_TARGET_TYPE_DISK_LABEL. ti_dm.c ------- nit: 1479 * Obtain disk name. It can be provided by TI_ATTR_LABEL_DISK_NAME -> 1479 * Obtain disk name. It is provided by TI_ATTR_LABEL_DISK_NAME ... 1504 if (errno == ENOTSUP) { 1505 1506 /* EFI label */ ... Just checking - is this check reliable ? 1521-1524 - since we know at this point disk already has SMI label, should we proceed with 'format' or could we just return with success ? Alexander Eremin wrote: > Please review the following for 3136 - TI fails to create VTOC on > unlabeled disk on Sparc > > Created new TI target - disk label. This time Sparc only supported and > SMI labeling as default. > > Tests: > #./test_ti_static > usage: test_ti [-h] [-x 0-3] [-c] [-t target_type] ... [-R] > -h print this help > -x [0-3] set debug level (0=emerg, 3=info) > -c commit changes - switch off dry run > -t target_type specify target type: f=fdisk, x=disk label, v=vtoc, > b=BE, p|P=ZFS pool, m=ZFS filesystem, l=ZFS volume, r=ramdisk, > d=directory > fdisk options (select fdisk type: option "-t f") > -w Solaris2 partition created on whole disk > -f file create fdisk partition table from file > -d disk_name disk name - e.g c1t0d0 > disk label options (select disk label type: option "-t x") > -d disk_name disk name - e.g c1t0d0 > VTOC options (select VTOC type: option "-t v") > .... > > > #./test_ti_static -c -x 3 -t x -d c0t3d0 > Test TI started in real mode... > Target type specified: disk label > disk label target prepared successfully > disk label target created successfully > # > > Disk c0t3d0 was unlabeled before: > > <TIMM_I Oct 21 06:07:52> Target type to be created: DISK_LABEL > <TIDM_I Oct 21 06:07:52> Disk c0t3d0 is unlabeled > <TIDM_I Oct 21 06:07:52> format: Creating SMI label for c0t3d0 > <TIDM_I Oct 21 06:07:52> dm cmd: printf 'label > y > q > '| /usr/sbin/format -d c0t3d0 2>&1 1>/dev/null > > Disk c0t3d0 was labeled as EFI before: > > <TIMM_I Oct 21 06:08:43> Target type to be created: DISK_LABEL > <TIDM_I Oct 21 06:08:43> Disk c0t3d0 has an EFI label > <TIDM_I Oct 21 06:08:43> format: Creating SMI label for c0t3d0 > <TIDM_I Oct 21 06:08:43> dm cmd: printf 'label > 0 > > > q > '| /usr/sbin/format -e -d c0t3d0 2>&1 1>/dev/null > > > > > webrev: http://cr.opensolaris.org/~alhazred/3136/ >