Print this page
5046 comstar: use the correct type instead of casting all the time

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/comstar/stmf/stmf.c
          +++ new/usr/src/uts/common/io/comstar/stmf/stmf.c
↓ open down ↓ 190 lines elided ↑ open up ↑
 191  191   * things in sync with persistent database.
 192  192   */
 193  193  volatile int    stmf_allow_modunload = 0;
 194  194  
 195  195  volatile int stmf_max_nworkers = 256;
 196  196  volatile int stmf_min_nworkers = 4;
 197  197  volatile int stmf_worker_scale_down_delay = 20;
 198  198  
 199  199  /* === [ Debugging and fault injection ] === */
 200  200  #ifdef  DEBUG
 201      -volatile int stmf_drop_task_counter = 0;
 202      -volatile int stmf_drop_buf_counter = 0;
      201 +volatile uint32_t stmf_drop_task_counter = 0;
      202 +volatile uint32_t stmf_drop_buf_counter = 0;
 203  203  
 204  204  #endif
 205  205  
 206  206  stmf_state_t            stmf_state;
 207  207  static stmf_lu_t        *dlun0;
 208  208  
 209  209  static uint8_t stmf_first_zero[] =
 210  210          { 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 0xff };
 211  211  static uint8_t stmf_first_one[] =
 212  212          { 0xff, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0 };
↓ open down ↓ 4393 lines elided ↑ open up ↑
4606 4606                          new = old = itask->itask_flags;
4607 4607                          if (new & ITASK_BEING_ABORTED)
4608 4608                                  return (STMF_ABORTED);
4609 4609                          new &= ~ITASK_KNOWN_TO_LU;
4610 4610                  } while (atomic_cas_32(&itask->itask_flags, old, new) != old);
4611 4611          }
4612 4612          if (itask->itask_flags & ITASK_BEING_ABORTED)
4613 4613                  return (STMF_ABORTED);
4614 4614  #ifdef  DEBUG
4615 4615          if (!(ioflags & STMF_IOF_STATS_ONLY) && stmf_drop_buf_counter > 0) {
4616      -                if (atomic_dec_32_nv((uint32_t *)&stmf_drop_buf_counter) ==
4617      -                    1)
     4616 +                if (atomic_dec_32_nv(&stmf_drop_buf_counter) == 1)
4618 4617                          return (STMF_SUCCESS);
4619 4618          }
4620 4619  #endif
4621 4620  
4622 4621          stmf_update_kstat_lu_io(task, dbuf);
4623 4622          stmf_update_kstat_lport_io(task, dbuf);
4624 4623          stmf_lport_xfer_start(itask, dbuf);
4625 4624          if (ioflags & STMF_IOF_STATS_ONLY) {
4626 4625                  stmf_lport_xfer_done(itask, dbuf);
4627 4626                  return (STMF_SUCCESS);
↓ open down ↓ 1707 lines elided ↑ open up ↑
6335 6334                  case ITASK_CMD_NEW_TASK:
6336 6335                          iss = (stmf_i_scsi_session_t *)
6337 6336                              task->task_session->ss_stmf_private;
6338 6337                          stmf_itl_lu_new_task(itask);
6339 6338                          if (iss->iss_flags & ISS_LUN_INVENTORY_CHANGED) {
6340 6339                                  if (stmf_handle_cmd_during_ic(itask))
6341 6340                                          break;
6342 6341                          }
6343 6342  #ifdef  DEBUG
6344 6343                          if (stmf_drop_task_counter > 0) {
6345      -                                if (atomic_dec_32_nv((uint32_t *)&stmf_drop_task_counter) ==
6346      -                                    1) {
     6344 +                                if (atomic_dec_32_nv(&stmf_drop_task_counter) == 1)
6347 6345                                          break;
6348      -                                }
6349 6346                          }
6350 6347  #endif
6351 6348                          DTRACE_PROBE1(scsi__task__start, scsi_task_t *, task);
6352 6349                          lu->lu_new_task(task, dbuf);
6353 6350                          break;
6354 6351                  case ITASK_CMD_DATA_XFER_DONE:
6355 6352                          lu->lu_dbuf_xfer_done(task, dbuf);
6356 6353                          break;
6357 6354                  case ITASK_CMD_STATUS_DONE:
6358 6355                          lu->lu_send_status_done(task);
↓ open down ↓ 1637 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX