Date: Sun, 3 Oct 2010 20:32:01 -0700 From: Garrett Cooper <yanegomi@gmail.com> To: John Baldwin <jhb@freebsd.org>, scottl@freebsd.org, sbruno@freebsd.org Cc: freebsd-hackers@freebsd.org Subject: Re: Make mfiutil(8) more robust Message-ID: <AANLkTimhH6ALXGsXkQfFQJ%2BC4LmCfKKAQz0NQVveHavF@mail.gmail.com> In-Reply-To: <AANLkTik%2BKHCCtHeOOOqL6k%2B7kta3-pGWEukD=v7DsgMv@mail.gmail.com> References: <AANLkTik%2BKHCCtHeOOOqL6k%2B7kta3-pGWEukD=v7DsgMv@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--001636d34573ffaadf0491c22f70 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Sun, Oct 3, 2010 at 8:30 PM, Garrett Cooper <yanegomi@gmail.com> wrote: > =A0 =A0As discussed offlist with some of the Yahoo! FreeBSD folks, > mfiutil catches errors, but doesn't communicate it back up to the > executing process. Examples follow... > =A0 =A0Before: > > $ ./mfiutil show adapter > mfiutil: mfi_open: Permission denied > $ echo $? > 0 > > =A0 =A0(I would expect it to exit with a non-zero exit code) > =A0 =A0After: > > $ ./mfiutil show adapter > mfiutil: mfi_open: Permission denied > $ echo $? > 1 > > =A0 =A0(Much better!) > > $ sudo ./mfiutil show adapter > mfi0 Adapter: > =A0 =A0Product Name: MegaRAID SAS 8704ELP > =A0 Serial Number: P391734409 > =A0 =A0 =A0 =A0Firmware: 11.0.1-0026 > =A0 =A0 RAID Levels: JBOD, RAID0, RAID1, RAID5, RAID6, RAID10, RAID50 > =A0Battery Backup: present > =A0 =A0 =A0 =A0 =A0 NVRAM: 32K > =A0Onboard Memory: 128M > =A0Minimum Stripe: 8K > =A0Maximum Stripe: 1M > $ echo $? > 0 > > =A0 =A0(Looks good too!) > > =A0 =A0After (mptutil): > > $ ../mptutil/mptutil show adapter > mptutil: mpt_open: No such file or directory > $ echo $? > 1 > > =A0 =A0(Well, I don't have a mpt(4) card, so...) > > =A0 =A0This trivial patch fixes this code to report valid errors in the > handlers. I've added code to catch errors with mptutil as well as the > logic is basically the same, and it functions as expected in the > negative case; I don't have the hardware to test the mptutil command > in the positive case though to ensure that functions as expected. > Thanks! Adding hackers@ for visibility with mptutil. Thanks, -Garrett --001636d34573ffaadf0491c22f70 Content-Type: application/octet-stream; name="mptutil-capture-handler-errors.diff" Content-Disposition: attachment; filename="mptutil-capture-handler-errors.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_geus8v4s2 SW5kZXg6IG1wdHV0aWwuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBtcHR1dGlsLmMJKHJldmlzaW9uIDIxMzM4 MCkKKysrIG1wdHV0aWwuYwkod29ya2luZyBjb3B5KQpAQCAtMTE0LDEwICsxMTQsMTIgQEAKIAog CVNFVF9GT1JFQUNIKGNtZCwgTVBUX0RBVEFTRVQodG9wKSkgewogCQlpZiAoc3RyY21wKCgqY21k KS0+bmFtZSwgYXZbMF0pID09IDApIHsKLQkJCSgqY21kKS0+aGFuZGxlcihhYywgYXYpOwotCQkJ cmV0dXJuICgwKTsKKwkJCWlmICgoKmNtZCktPmhhbmRsZXIoYWMsIGF2KSkKKwkJCQlyZXR1cm4g KDEpOworCQkJZWxzZQorCQkJCXJldHVybiAoMCk7CiAJCX0KIAl9CiAJd2FybngoIlVua25vd24g Y29tbWFuZCAlcy4iLCBhdlswXSk7Ci0JcmV0dXJuICgwKTsKKwlyZXR1cm4gKDEpOwogfQo= --001636d34573ffaadf0491c22f70 Content-Type: application/octet-stream; name="mfiutil-capture-handler-errors.diff" Content-Disposition: attachment; filename="mfiutil-capture-handler-errors.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_geus95as3 SW5kZXg6IG1maXV0aWwuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBtZml1dGlsLmMJKHJldmlzaW9uIDIxMTc2 NykKKysrIG1maXV0aWwuYwkod29ya2luZyBjb3B5KQpAQCAtMTI1LDEwICsxMjUsMTIgQEAKIAog CVNFVF9GT1JFQUNIKGNtZCwgTUZJX0RBVEFTRVQodG9wKSkgewogCQlpZiAoc3RyY21wKCgqY21k KS0+bmFtZSwgYXZbMF0pID09IDApIHsKLQkJCSgqY21kKS0+aGFuZGxlcihhYywgYXYpOwotCQkJ cmV0dXJuICgwKTsKKwkJCWlmICgoKmNtZCktPmhhbmRsZXIoYWMsIGF2KSkKKwkJCQlyZXR1cm4g KDEpOworCQkJZWxzZQorCQkJCXJldHVybiAoMCk7CiAJCX0KIAl9CiAJd2FybngoIlVua25vd24g Y29tbWFuZCAlcy4iLCBhdlswXSk7Ci0JcmV0dXJuICgwKTsKKwlyZXR1cm4gKDEpOwogfQo= --001636d34573ffaadf0491c22f70--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTimhH6ALXGsXkQfFQJ%2BC4LmCfKKAQz0NQVveHavF>