Print this page
NEX-17999 SCSI enclosure services (ses) non-response causes device tree operation deadlock
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Rob Gittins <rob.gittins@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/lib/fm/libdiskstatus/common/ds_scsi_uscsi.c
          +++ new/usr/src/lib/fm/libdiskstatus/common/ds_scsi_uscsi.c
↓ open down ↓ 1013 lines elided ↑ open up ↑
1014 1014          static int timeo = -1;
1015 1015          int i;
1016 1016  
1017 1017          if (timeo > 0)
1018 1018                  return (timeo);
1019 1019  
1020 1020          if (env != NULL) {
1021 1021                  i = atoi(env);
1022 1022                  if (i > USCSI_TIMEOUT_MAX)
1023 1023                          i = USCSI_TIMEOUT_MAX;
1024      -                else if (i < 0)
     1024 +                else if (i <= 0)
1025 1025                          i = USCSI_DEFAULT_TIMEOUT;
1026 1026          } else
1027 1027                  i = USCSI_DEFAULT_TIMEOUT;
1028 1028  
1029 1029          timeo = i;
1030 1030          return (i);
1031 1031  }
1032 1032  
1033 1033  /*
1034 1034   * Execute a command and determine the result.  Uses the "uscsi" ioctl
↓ open down ↓ 624 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX