From owner-freebsd-hackers@FreeBSD.ORG Mon Oct 4 03:32:02 2010 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B8228106564A; Mon, 4 Oct 2010 03:32:02 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-iw0-f182.google.com (mail-iw0-f182.google.com [209.85.214.182]) by mx1.freebsd.org (Postfix) with ESMTP id 4A65C8FC13; Mon, 4 Oct 2010 03:32:02 +0000 (UTC) Received: by iwn10 with SMTP id 10so1797311iwn.13 for ; Sun, 03 Oct 2010 20:32:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=xXoZFGzbx/xzBIKzdFRDbET2vQwXnCFyMHUmLsCzKAw=; b=ZnSrndG7TzOWOcG/eKWdRTyD3ZI1rCi5rjH9WXKvjlr9YZXnbuZlXn7ApTdka3mwg2 w+HPc4KSfOPKwQY68qDSQ/iFz7D4bQ02aghPVeb0IAvDEfnuSA9x5WPb9kVOcY1qi/Le RTDoqJVVMXrZeOsY3pRGEjLKVyf8WAWPXBPYQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=snrnqYNjNtgol1EuryBIuTIuRdcRL9XQ24OI2bxaw1HbdjIdZ/m1bMMvh0ynorCyXW b0h7aMfZ54Fw+GRIQiAJw5r14AfQqbpJ4gR6YtBvWolmDFCvjVRdhlbBBMA88TSkf+xj EBD3McUZa2nLziNNVwGcxTGqPBjyOUz0sKbKE= MIME-Version: 1.0 Received: by 10.231.152.143 with SMTP id g15mr9328983ibw.76.1286163121805; Sun, 03 Oct 2010 20:32:01 -0700 (PDT) Received: by 10.231.190.68 with HTTP; Sun, 3 Oct 2010 20:32:01 -0700 (PDT) In-Reply-To: References: Date: Sun, 3 Oct 2010 20:32:01 -0700 Message-ID: From: Garrett Cooper To: John Baldwin , scottl@freebsd.org, sbruno@freebsd.org Content-Type: multipart/mixed; boundary=001636d34573ffaadf0491c22f70 Cc: freebsd-hackers@freebsd.org Subject: Re: Make mfiutil(8) more robust X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Oct 2010 03:32:02 -0000 --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 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--