Received: by 10.213.65.68 with SMTP id h4csp555imn; Fri, 30 Mar 2018 12:51:45 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+BktBXGIP2wPToM0G0oA5+P/8FwuLAsoebSPDC21AVQzGVbltJ5Kinm1ccQfCiz1NWivC9 X-Received: by 2002:a17:902:228:: with SMTP id 37-v6mr343351plc.141.1522439505438; Fri, 30 Mar 2018 12:51:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522439505; cv=none; d=google.com; s=arc-20160816; b=a84mYGECtKdvEmNlR6KFzCzYpFMOmUdcssmXsmzaWVPkDTuR54WbUe0/ty9WeNVNhB 6MoNzz1Xnq2FjimwiKz3YIcybmb3M8oq2pBDtWNuuF2oAMBDL4MHqools7oE3eliaXOO hbeBTc7DuNbYra8hbTA+BnHiKKhGPdlDTCaRuBIleieKoGJ6simRlMV703noSYiIMdaG 1rT3nWGug9lSgEvaM50aLl0JQhQ6Wc9fkoBdRn0MUKhbuuDSSRdj5UeMH/tyxJUiPPzv 0sZvjlGJaAdcalZEcMP6lYV9K2b8YItBrJl39KKXjUWBG5SJ6sYl2i1AE4lcxyDm9N1C HTjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=/YK14MbqP4ZwIPgNyDZzfhZLT5O3PIZXRDeB7XX/rCw=; b=iCVEPFSsMxoYXXXSMoPUXtVmnOHNuzQk7IH5Uk/ckN/woeEPD5cMrlKI1Rz1u4Hc5c v/IbR1e8zRNCIPY2nixBAI9PznPh7yq6i29jJSBKUPxWlNlSqJP03xt+bJtPq5ixhpsW sp5sbDQEm8Vc3Dh1P2CK3Yt5g4xiEv8CV18+3Fvpi9vv3+ljF4SsVd9vQMENJzjHarVm mzFfZMaZ/HNe58O+K28WEkW4arG2UHSpnsozwrHvLj8ju7/mF+5sdYHBN7dF7qKZFj2P XSICnQ5z102efw1/yFEamk44crLroN6C0+SaYAdImmGRr/Z1PqOFqtMItqBGjNtcRP6l GyBQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r138si5995978pgr.84.2018.03.30.12.51.30; Fri, 30 Mar 2018 12:51:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752571AbeC3Ttu (ORCPT + 99 others); Fri, 30 Mar 2018 15:49:50 -0400 Received: from mx2.suse.de ([195.135.220.15]:44866 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752259AbeC3Tts (ORCPT ); Fri, 30 Mar 2018 15:49:48 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 1A57BACB2; Fri, 30 Mar 2018 19:49:47 +0000 (UTC) Date: Fri, 30 Mar 2018 19:49:46 +0000 From: "Luis R. Rodriguez" To: Sasha Levin Cc: Dave Chinner , Sasha Levin , "Luis R. Rodriguez" , "Darrick J. Wong" , Christoph Hellwig , xfs , "linux-kernel@vger.kernel.org List" , Greg Kroah-Hartman , Julia Lawall , Josh Triplett , Takashi Iwai , Michal Hocko , Joerg Roedel Subject: Re: [PATCH] xfs: always free inline data before resetting inode fork during ifree Message-ID: <20180330194946.GF9190@wotan.suse.de> References: <20180323034145.GH4818@magnolia> <20180323170813.GD30543@wotan.suse.de> <20180323172620.GK4818@magnolia> <20180323182302.GB9190@wotan.suse.de> <20180325223357.GJ18129@dastard> <20180328033228.GA18129@dastard> <20180328193004.GB7561@sasha-vm> <20180328230535.GE18129@dastard> <20180330024704.GE7561@sasha-vm> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180330024704.GE7561@sasha-vm> User-Agent: Mutt/1.6.0 (2016-04-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 30, 2018 at 02:47:05AM +0000, Sasha Levin wrote: > On Thu, Mar 29, 2018 at 10:05:35AM +1100, Dave Chinner wrote: > >On Wed, Mar 28, 2018 at 07:30:06PM +0000, Sasha Levin wrote: > >"./check -g auto" runs the full "expected to pass" regression test > >suite for all configured test configurations. (i.e. all config > >sections listed in the configs/.config file) > > Great! With information from Darrick and yourself I've modified tests to > be more relevant. Right now I run 4 configs for each stable kernel, but > can add more or remove any - depends on what helps people analyse the > results. > > This brings me to the sad part of this mail: not a single stable kernel > survived a run. Most are paniced, some are hanging, I expected this. The semantics over -g auto yielding "expected to pass" are relative. Perhaps its better described as "should pass"? > and some were killed > because of KASan. > > All have hit various warnings in fs/iomap.c, and kernels accross several > versions hit the BUG at fs/xfs/xfs_message.c:113 (+-1 line) > > 4.15.12 is hitting a use-after-free in xfs_efi_release(). > 4.14.29 and 4.9.89 seems to end up with corrupted memory (KASAN > warnings) at or before generic/027. > And finally, 3.18.101 is pretty unhappy with sleeping functions called > from atomic context. From my limited experience you have no option but to create an expunge list for each failure for now, and then pass the expunge lists -- that in essence would define the stable baseline and you should expect this to be different per kernel release. If you upgrade tooling, it can also change the results, and likewise if you upgrade fstests. If you define an expunge list you can then pass the list with the -E parameter, you can for instance categorize then failures by type and use a file for each type of failure, whether that's a triage list or a type of common failure. Format can be: test # comments are ignored Since you may want to database this somehow, perhaps a format that lists some tracking for it or other heuristics: generic/388 # bug#12345 - 1/300 run fails I'd recommend to just add all failures to one large expunge list for now, and later you can split / sort them them as needed. The idea later is that any failure later would be a regression. What would be good is to test a stable kernel prior to the auto-selection and use that as baseline, then bump the kernel and ensure no regressions were created. A dicey corner issue is that of tests which are supposed to "pass" but yet can fail every blue moon. For instance I've been running into one-off failures with generic/388 -- but only if I run it over 300 times. As such the baseline IMHO should also track these as just failures, however it will be often picked up as a regression first. The only way to rule this out is to loop test the same test prior to a kernel update and ensure it wasn't a regression -- ie, that it *was* still failing before. This is why all this work is rather full time'ish. There is no way around it, it will take time to establish a baseline from fstests for a filesystem. There will also be a lot of odd ins and outs of each filesystem. Luis