From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.sgi.com (relay1.corp.sgi.com [137.38.102.111]) by oss.sgi.com (Postfix) with ESMTP id 5D5207CBF for ; Mon, 13 May 2013 21:00:48 -0500 (CDT) Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by relay1.corp.sgi.com (Postfix) with ESMTP id 4412C8F8049 for ; Mon, 13 May 2013 19:00:47 -0700 (PDT) Received: from sandeen.net (sandeen.net [63.231.237.45]) by cuda.sgi.com with ESMTP id 0HtFvgUzJLRfCOZX for ; Mon, 13 May 2013 19:00:46 -0700 (PDT) Message-ID: <51919ACD.4040903@sandeen.net> Date: Mon, 13 May 2013 21:00:45 -0500 From: Eric Sandeen MIME-Version: 1.0 Subject: Re: [PATCH, RFC] xfstests: fail test if it causes a kernel taint References: <51916146.80308@redhat.com> <20130514011501.GR32675@dastard> In-Reply-To: <20130514011501.GR32675@dastard> List-Id: XFS Filesystem from SGI List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: xfs-bounces@oss.sgi.com Sender: xfs-bounces@oss.sgi.com To: Dave Chinner Cc: Eric Sandeen , xfs-oss On 5/13/13 8:15 PM, Dave Chinner wrote: > On Mon, May 13, 2013 at 04:55:18PM -0500, Eric Sandeen wrote: >> This should, in theory, fail a test if it introduces one of >> a handful of "serious" kernel taints. I mask on a few taint >> values because using an out of tree module or a non-GPL module >> should never fail a test, for example. >> >> Signed-off-by: Eric Sandeen > > I like the idea - it should catch lockdep failures and other such > problems. > >> --- >> >> diff --git a/check b/check >> index a79747e..a9cac4e 100755 >> --- a/check >> +++ b/check >> @@ -446,6 +445,11 @@ do >> fi >> rm -f core $seqres.notrun >> >> + if [ "$HOSTOS" == "Linux" ]; then >> + tainted=`sysctl -n kernel.tainted` >> + let "tainted &= $TAINT_FAIL" >> + fi >> + >> start=`_wallclock` >> $timestamp && echo -n " ["`date "+%T"`"]" >> [ ! -x $seq ] && chmod u+x $seq # ensure we can run it >> @@ -507,6 +511,19 @@ do >> "entire diff)" >> err=true >> fi >> + >> + # See if this run tainted the kernel due to oops, etc >> + if [ "$HOSTOS" == "Linux" ] >> + then >> + tainted2=`sysctl -n kernel.tainted` >> + let "tainted2 &= $TAINT_FAIL" >> + if [ "$tainted" != "$tainted2" ] >> + then >> + echo " Kernel taint changed from $tainted to $tainted2." >> + echo " See dmesg for details." >> + err=true >> + fi > > Should we dump the last 100 lines of dmesg into the output file > here? And then rely on the golden image match failing to fail the > test? Or into $seq.full . . I dunno. It's hard to know how much dmesg you'd need to get the right bits. Dumping all of it into $seq.full might be best; it only trips when it's a new taint, so won't fire for every test. -Eric > Cheers, > > Dave. > _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs