summaryrefslogtreecommitdiff
path: root/usr/src/lib/scsi
diff options
context:
space:
mode:
authoreschrock <none@none>2008-05-20 16:11:57 -0700
committereschrock <none@none>2008-05-20 16:11:57 -0700
commitbf82a41b568b2bd31bf9814587eb25ee2e7b05ff (patch)
tree47b3e8d4c7d86aae090962dde908fafd32fb48ff /usr/src/lib/scsi
parent3289e1bdec732dbdf04517907516fd0d00f6a6f8 (diff)
downloadillumos-joyent-bf82a41b568b2bd31bf9814587eb25ee2e7b05ff.tar.gz
6697301 deadlock between ZFS and devfs can hang system
6702485 enc_do_ucode() corrupts memory if image is not aligned 6702487 need to update product name for J4500 6702607 GRUB should allow explicit zfs-bootfs setting 6703082 need to update parsing of J4500 STRING IN data 6703124 fix for 6667023 was overaggressive and unnecessarily confusing 6703353 ZIO_FLAG_SPECULATIVE should not generate ereports 6703845 vdev_disk_read_rootlabel() leaks LDI handle 6703938 canceling an in-place replacement results in lingering '/old' pathname 6704037 autoreplace code should work for faulted devices 6704039 autoreplace code shouldn't use old devid 6704615 spa_import_rootpool() needs to do forced import --HG-- rename : usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/Makefile => usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/Makefile rename : usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/Makefile.com => usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/Makefile.com rename : usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/amd64/Makefile => usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/amd64/Makefile rename : usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/common/loki.c => usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/common/loki.c rename : usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/i386/Makefile => usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/i386/Makefile rename : usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/sparc/Makefile => usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/sparc/Makefile rename : usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/sparcv9/Makefile => usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/sparcv9/Makefile
Diffstat (limited to 'usr/src/lib/scsi')
-rw-r--r--usr/src/lib/scsi/plugins/ses/Makefile2
-rw-r--r--usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/Makefile (renamed from usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/Makefile)0
-rw-r--r--usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/Makefile.com (renamed from usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/Makefile.com)2
-rw-r--r--usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/amd64/Makefile (renamed from usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/amd64/Makefile)0
-rw-r--r--usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/common/loki.c (renamed from usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/common/loki.c)20
-rw-r--r--usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/i386/Makefile (renamed from usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/i386/Makefile)0
-rw-r--r--usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/sparc/Makefile (renamed from usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/sparc/Makefile)0
-rw-r--r--usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/sparcv9/Makefile (renamed from usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/sparcv9/Makefile)0
-rw-r--r--usr/src/lib/scsi/plugins/ses/ses2/common/ses2_enclosure_ctl.c2
9 files changed, 15 insertions, 11 deletions
diff --git a/usr/src/lib/scsi/plugins/ses/Makefile b/usr/src/lib/scsi/plugins/ses/Makefile
index 0bde46f0ab..37517fbc40 100644
--- a/usr/src/lib/scsi/plugins/ses/Makefile
+++ b/usr/src/lib/scsi/plugins/ses/Makefile
@@ -29,7 +29,7 @@ SUBDIRS = \
libses \
ses2 \
SUN-Storage-J4400 \
- SUN-ST-J4500
+ SUN-Storage-J4500
.KEEP_STATE:
diff --git a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/Makefile b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/Makefile
index b39b55f14b..b39b55f14b 100644
--- a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/Makefile
+++ b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/Makefile
diff --git a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/Makefile.com b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/Makefile.com
index 634f08f016..c206c85d49 100644
--- a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/Makefile.com
+++ b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/Makefile.com
@@ -25,7 +25,7 @@
#
#ident "%Z%%M% %I% %E% SMI"
-MODULE = SUN-ST-J4500
+MODULE = SUN-Storage-J4500
SRCS = loki.c
SRCDIR = ../common
PLUGINTYPE = vendor
diff --git a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/amd64/Makefile b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/amd64/Makefile
index fbf98db77f..fbf98db77f 100644
--- a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/amd64/Makefile
+++ b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/amd64/Makefile
diff --git a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/common/loki.c b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/common/loki.c
index a70cfb2525..eedb6b4135 100644
--- a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/common/loki.c
+++ b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/common/loki.c
@@ -115,7 +115,7 @@ sun_loki_parse_node(ses_plugin_t *sp, ses_node_t *np)
encprops = ses_node_props(encp);
if (nvlist_lookup_byte_array(encprops, SES_EN_PROP_STRING,
- &stringin, &len) != 0 || len == 0)
+ &stringin, &len) != 0 || len < 4)
return (0);
/*
@@ -137,13 +137,13 @@ sun_loki_parse_node(ses_plugin_t *sp, ses_node_t *np)
* identifier, then something has gone awry and we assume that the data
* is corrupt.
*/
- fieldlen = *stringin;
+ fieldlen = stringin[3];
if (fieldlen < 11)
return (0);
- for (field = (char *)stringin + 1;
+ for (field = (char *)stringin + 4;
field + fieldlen <= (char *)stringin + len; field += fieldlen) {
- if (strncmp(field, "ST J4500", 8) == 0) {
+ if (strncmp(field, "Storage J4500", 13) == 0) {
/*
* This is the part number for the enclosure itself.
*/
@@ -165,14 +165,16 @@ sun_loki_parse_node(ses_plugin_t *sp, ses_node_t *np)
* Part numbers for the fans, of which there are 5.
*/
if (ses_node_type(np) != SES_NODE_ELEMENT ||
- type != SES_ET_COOLING)
+ type != SES_ET_COOLING) {
+ field += fieldlen * 5;
continue;
+ }
field += fieldlen;
for (i = 0; i < 5 &&
field + fieldlen <= (char *)stringin + len;
- i++, fieldlen += fieldlen) {
+ i++, field += fieldlen) {
if (index == i &&
strncmp(field, "Unknown", 7) != 0 &&
strncmp(field, "Not Installed", 13) != 0) {
@@ -189,14 +191,16 @@ sun_loki_parse_node(ses_plugin_t *sp, ses_node_t *np)
* are 2.
*/
if (ses_node_type(np) != SES_NODE_ELEMENT ||
- type != SES_ET_POWER_SUPPLY)
+ type != SES_ET_POWER_SUPPLY) {
+ field += fieldlen * 2;
continue;
+ }
field += fieldlen;
for (i = 0; i < 2 &&
field + fieldlen <= (char *)stringin + len;
- i++, fieldlen += fieldlen) {
+ i++, field += fieldlen) {
if (index == i &&
strncmp(field, "Unknown", 7) != 0 &&
strncmp(field, "Not Installed", 13) != 0) {
diff --git a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/i386/Makefile b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/i386/Makefile
index 447a346278..447a346278 100644
--- a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/i386/Makefile
+++ b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/i386/Makefile
diff --git a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/sparc/Makefile b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/sparc/Makefile
index 447a346278..447a346278 100644
--- a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/sparc/Makefile
+++ b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/sparc/Makefile
diff --git a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/sparcv9/Makefile b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/sparcv9/Makefile
index fbf98db77f..fbf98db77f 100644
--- a/usr/src/lib/scsi/plugins/ses/SUN-ST-J4500/sparcv9/Makefile
+++ b/usr/src/lib/scsi/plugins/ses/SUN-Storage-J4500/sparcv9/Makefile
diff --git a/usr/src/lib/scsi/plugins/ses/ses2/common/ses2_enclosure_ctl.c b/usr/src/lib/scsi/plugins/ses/ses2/common/ses2_enclosure_ctl.c
index 8b162e11e3..c690f5f13b 100644
--- a/usr/src/lib/scsi/plugins/ses/ses2/common/ses2_enclosure_ctl.c
+++ b/usr/src/lib/scsi/plugins/ses/ses2/common/ses2_enclosure_ctl.c
@@ -88,7 +88,7 @@ enc_do_ucode(ses_plugin_t *sp, ses_node_t *np, nvlist_t *nvl)
len = MIN(datalen - offset, SES_UCODE_CHUNK_SIZE);
if (len & 0x3)
- pagelen = (len + 4) & 0x3;
+ pagelen = (len + 4) & ~0x3;
else
pagelen = len;