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>