Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Aug 2004 19:45:53 -0700
From:      Sandy Rutherford <sandy@krvarr.bc.ca>
To:        FreeBSD-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org
Subject:   Re: bin/69875: `mlxcontrol status <drivename>' hangs with Mylex DAC1100 RAID controller
Message-ID:  <16677.26081.228866.733818@szamoca.krvarr.bc.ca>
In-Reply-To: <200408011340.i71DeJ8f015505@freefall.freebsd.org>
References:  <200408011339.i71DdPV8003732@szamoca.krvarr.bc.ca> <200408011340.i71DeJ8f015505@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--DqtoqZrip3
Content-Type: text/plain; charset=us-ascii
Content-Description: message body text
Content-Transfer-Encoding: 7bit

Here is a patch for this problem report.

The bug is in the subr's `mlxd_foreach_ctrlr' and
`mlxd_find_ctrlr_search', both in interface.c.   Both of these
subroutines use `ioctl(fd, MLX_NEXT_CHILD, &i)' to iterate over the
configured mlxd(4) devices.  However, in FreeBSD 4.10-RELEASE, this
simply sets i to 0.

I have replaced this code with a simple-minded loop from i=0 to 63,
which is a large enough loop to find any devices on the RAID
controllers supported by mlxd(4).  It is likely that there is a more
clever fix, but this does the job for me.  If anybody has a better
fix, I would be happy to test it.

Attached is a patch file for /usr/src/usr.sbin/mlxcontrol/interface.c
in FreeBSD 4.10-RELEASE.

...Sandy

 
--DqtoqZrip3
Content-Type: application/octet-stream
Content-Description: Context diff for /usr/src/usr/sbin/mlxcontrol/interface.c
Content-Disposition: attachment;
	filename="interface.c.diff"
Content-Transfer-Encoding: base64

KioqIGludGVyZmFjZS5jLm9yaWcJRnJpIEF1ZyAgNiAwMzozOToyNCAyMDA0Ci0tLSBpbnRlcmZh
Y2UuYwlGcmkgQXVnICA2IDA0OjA2OjU1IDIwMDQKKioqKioqKioqKioqKioqCioqKiA4NSw5NSAq
KioqCiAgICAgIGlmICgoZmQgPSBvcGVuKGN0cmxycGF0aCh1bml0KSwgMCkpIDwgMCkKICAJcmV0
dXJuOwogICAgICAKISAgICAgZm9yIChpID0gLTE7IDspIHsKICAJLyogR2V0IHRoZSB1bml0IG51
bWJlciBvZiB0aGUgbmV4dCBjaGlsZCBkZXZpY2UgKi8KISAJaWYgKGlvY3RsKGZkLCBNTFhfTkVY
VF9DSElMRCwgJmkpIDwgMCkKISAJICAgIHJldHVybjsKISAJCiAgCS8qIGNoZWNrIHRoYXQgd2Ug
Y2FuIG9wZW4gdGhpcyB1bml0ICovCiAgCWlmICgoZmQgPSBvcGVuKGRyaXZlcGF0aChpKSwgMCkp
ID49IDApCiAgCSAgICBjbG9zZShmZCk7Ci0tLSA4NSw5NyAtLS0tCiAgICAgIGlmICgoZmQgPSBv
cGVuKGN0cmxycGF0aCh1bml0KSwgMCkpIDwgMCkKICAJcmV0dXJuOwogICAgICAKISAgICAgZm9y
IChpID0gMDsgaSA8IDY0IDsgaSsrKSB7CiAgCS8qIEdldCB0aGUgdW5pdCBudW1iZXIgb2YgdGhl
IG5leHQgY2hpbGQgZGV2aWNlICovCiEgICAgICAgICAvKiBIZXJlLCB0aGlzIGFsd2F5cyBzZXRz
IGkgdG8gMCwgaW5zdGVhZCBvZiBpdGVyYXRpbmcgb3ZlciAqLwohICAgICAgICAgLyogZGV2aWNl
cy4gIEFzIEEgd29yay1hcm91bmQsIEkgaGF2ZSBoYXJkLWNvZGVkIGEgbG9vcCAgICAgKi8KISAg
ICAgICAgIC8qIGZyb20gMCB0byA2NC4gIC4uLnNhbmR5ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICovCiEgCS8qIGlmIChpb2N0bChmZCwgTUxYX05FWFRfQ0hJTEQsICZpKSA8IDAp
ICAqLwohIAkvKiAgcmV0dXJuOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KICAJ
LyogY2hlY2sgdGhhdCB3ZSBjYW4gb3BlbiB0aGlzIHVuaXQgKi8KICAJaWYgKChmZCA9IG9wZW4o
ZHJpdmVwYXRoKGkpLCAwKSkgPj0gMCkKICAJICAgIGNsb3NlKGZkKTsKKioqKioqKioqKioqKioq
CioqKiAxMjgsMTM3ICoqKioKICAgICAgCiAgICAgIC8qIEdldCB0aGUgZGV2aWNlICovCiAgICAg
IGlmICgoZmQgPSBvcGVuKGN0cmxycGF0aCh1bml0KSwgMCkpID49IDApIHsKISAJZm9yIChpID0g
LTE7IDspIHsKICAJICAgIC8qIEdldCB0aGUgdW5pdCBudW1iZXIgb2YgdGhlIG5leHQgY2hpbGQg
ZGV2aWNlICovCiEgCSAgICBpZiAoaW9jdGwoZmQsIE1MWF9ORVhUX0NISUxELCAmaSkgPCAwKQoh
IAkJYnJlYWs7CiAgCiAgCSAgICAvKiBpcyB0aGlzIGNoaWxkIHRoZSB1bml0IHdlIHdhbnQ/ICov
CiAgCSAgICBpZiAoaSA9PSBtbHhkX2ZpbmRfY3RybHJfcGFyYW0udW5pdCkgewotLS0gMTMwLDE0
NCAtLS0tCiAgICAgIAogICAgICAvKiBHZXQgdGhlIGRldmljZSAqLwogICAgICBpZiAoKGZkID0g
b3BlbihjdHJscnBhdGgodW5pdCksIDApKSA+PSAwKSB7CiEgCWZvciAoaSA9IDA7IGkgPCA2NCA7
IGkrKykgewohICAgICAvKiAgZm9yIChpID0gLTE7IDspeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKi8KICAJICAgIC8qIEdldCB0aGUgdW5pdCBudW1iZXIgb2YgdGhl
IG5leHQgY2hpbGQgZGV2aWNlICovCiEgICAgICAgICAgICAgLyogVGhpcyBzZXRzIGkgdG8gMCBh
bmQgbmV2ZXIgcmV0dXJucyAtMS4gICAgICAgICAgICAqLwohICAgICAgICAgICAgIC8qIFRoZXJl
Zm9yZSwgdGhlIGZvciBsb29wIG5ldmVyIGNvbXBsZXRlcy4gICAgICAgICAgKi8KISAJICAgIC8q
IEFzIGEgd29yay1hcm91bmQsIEkgc2ltcGx5IGxvb3AgZnJvbSBmcm9tIDAgdG8gNjQgKi8KISAJ
ICAgIC8qIGxvb2tpbmcgZm9yIGNvbnRyb2xsZXJzLiAuLi5zYW5keSAgICAgICAgICAgICAgICAg
Ki8KISAJICAvKiBpZiAoaW9jdGwoZmQsIE1MWF9ORVhUX0NISUxELCAmaSkgPCAwKSAgICAgICAg
ICAgICAgKi8KISAJICAvKglicmVhazsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi8KICAKICAJICAgIC8qIGlzIHRoaXMgY2hpbGQgdGhlIHVuaXQgd2Ugd2FudD8g
Ki8KICAJICAgIGlmIChpID09IG1seGRfZmluZF9jdHJscl9wYXJhbS51bml0KSB7Cg==
--DqtoqZrip3--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?16677.26081.228866.733818>