sd driver should pass warlock test, as it helps with driver reliability and robustness.
SD fails the test and becasue of it a number of other drivers (that are warlocked with sd) cannot pass warlock tests.
> make warlock
/export/build0/pawelw/onnv/usr/src/uts/intel/scsi
/export/build0/pawelw/onnv/usr/src/uts/intel/warlock
/export/build0/pawelw/onnv/usr/src/uts/intel/cmlb
warlock -c ../../common/io/warlock/sd.wlcmd sd.ll sd_xbuf.ll -l ../scsi/scsi_capabilities.ll -l ../scsi/scsi_confsubr.ll -l ../scsi/scsi_control.ll -l ../scsi/scsi_data.ll -l ../scsi/scsi_fm.ll -l ../scsi/scsi_hba.ll -l ../scsi/scsi_reset_notify.ll -l ../scsi/scsi_resource.ll -l ../scsi/scsi_subr.ll -l ../scsi/scsi_transport.ll -l ../scsi/scsi_watch.ll -l ../scsi/sas_transport.ll \
-l ../cmlb/cmlb.ll \
-l ../warlock/ddi_dki_impl.ll
- Warning: function was never called.
function = scsi_hba.c:scsi_hba_fm_init_child [scsi_hba.c,2673]
The following variables don't seem to be protected consistently:
cmlb_lun::cl_vtoc.v_nparts
cmlb_lun::cl_vtoc.v_part.p_flag
cmlb_lun::cl_vtoc.v_part.p_size
cmlb_lun::cl_vtoc.v_part.p_start
cmlb_lun::cl_vtoc.v_part.p_tag
cmlb_lun::cl_vtoc.v_sanity
cmlb_lun::cl_vtoc.v_sectorsz
cmlb_lun::cl_vtoc.v_version
*** Error code 10
make: Fatal error: Command failed for target `sd.ok'
Current working directory ..../onnv/usr/src/uts/intel/sd
>
Work Around
36 root sd_failfast_flushq_callback sd_reenable_dsense_task
37 root sd_start_direct_priority_command
38 root sd_target_change_task
39
40 ### Give warlock a dummy target for each of the function
41 ### pointers in the scsi_hba_tran structure.
42 for ptr in `funcptrs | grep '^scsi_hba_tran::'`
43 do
44 add $ptr target warlock_dummy
45 done
46 root scsi_hba_bus_power
47 root scsi_hba_fm_init_child
48
49 add scsi_watch_request::swr_callback targets sd_media_watch_cb sd_mhd_watch_cb
50 add sd.c:sd_start_cmds/funcp target sd_initpkt_for_buf sd_initpkt_for_uscsi