From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8D84BCD8CA8 for ; Tue, 16 Jun 2026 05:47:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.sourceforge.net; s=beta; h=Content-Transfer-Encoding:Content-Type:Cc: Reply-To:From:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Subject:In-Reply-To:MIME-Version:References: Message-ID:To:Date:Sender:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=um5BGrHyn4nVWFv6z5UoQtoenbRKtFFT7qYtwQcosYg=; b=DQMFfvbozEQT5oDrU4QSkArRrQ 5RN14kkuxbD5h660chRe0hWXUuBNL6J/ZLUWA6/gpaCCNQE3CIwvUvhzf4G/l+aOiFZrCma3rkuB3 D0vC/R+673XYnNJRDhEGV+QZ3Sz7DHa247j1c284kTLQDq/pAlW1KXQdjDekMxb+I8sg=; Received: from [127.0.0.1] (helo=sfs-ml-3.v29.lw.sourceforge.com) by sfs-ml-3.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1wZMeH-0007iA-L9; Tue, 16 Jun 2026 05:47:46 +0000 Received: from [172.30.29.66] (helo=mx.sourceforge.net) by sfs-ml-3.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1wZMeG-0007i2-2w for linux-f2fs-devel@lists.sourceforge.net; Tue, 16 Jun 2026 05:47:44 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=In-Reply-To:Content-Transfer-Encoding:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=G/SIH5c/f+2pTisr+DrzV9BHZE3y+hfPFAwnl/lvf4A=; b=dupI8anLIFR6rJCc/bfjKlvKIK S2PSbyUDzBTafQVqn0IdtxIblds81owJ520m57QbbeqKugox3ztnLxlTFlVmyxzQtSwvsdWhLHThd oSm2vppK0pqY+kEBjEWXKPShsXycN9gGdFHcm6n/IUWjriz7xdim3yHudS7tegL7Dxps=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=In-Reply-To:Content-Transfer-Encoding:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=G/SIH5c/f+2pTisr+DrzV9BHZE3y+hfPFAwnl/lvf4A=; b=j6Mfi6Ttf6FShAI/rKlXr4AVIs NmlLRV5PPf/KBS77xWYRN/S12WrPg2ZHAsu5bNfuBV/RbwGgsx+wRRmVJDYfQGwixja9ARD+hOR65 VPfz2ROzUEr9S/Wswdkj1fEvbpbJ9I95aYNQPkMXQdSbkcmlp8fDvRpZwXOA/7m4ahS4=; Received: from sea.source.kernel.org ([172.234.252.31]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1wZMeF-0004P6-Ex for linux-f2fs-devel@lists.sourceforge.net; Tue, 16 Jun 2026 05:47:44 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 6171043D19 for ; Tue, 16 Jun 2026 05:47:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0F62A1F00A3A; Tue, 16 Jun 2026 05:47:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1781588858; bh=G/SIH5c/f+2pTisr+DrzV9BHZE3y+hfPFAwnl/lvf4A=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=o2KvQiVZog+utZnc4fAXLH9eFhnUEzFhW5EFMdLtnXyuYHD3tsFh68kvzCSSQwgbQ nSA8hrZCWJVqp+mjoNymHlGD2dmAxf7uCpNnTX9FUbWiQtA8SrHzM9ou0TvLUY2TZq 6sK97LMW30o/VCj+a+04dufnIxwo8kHOwZSWt2TsqS+e9m39LMPBA87W+z3MKWg4mJ Wp4k2RNALkMNyZtNNN/be5I4hNgViWNwQUJWuaBEa4Yhdq9eY6PdOFShJDzi2XgNtX RnQ31LvQ789zxy0UdFz80o7L9P+wrZxKiHkUAEQGo8NrNEo7Lm7xxVxe6Gnlnn1nzT P+MEhenkvNOPQ== Date: Tue, 16 Jun 2026 13:47:32 +0800 To: Chao Yu Message-ID: Mail-Followup-To: Chao Yu , fstests@vger.kernel.org, jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net References: <20260612005802.3017709-1-chao@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Headers-End: 1wZMeF-0004P6-Ex Subject: Re: [f2fs-dev] [PATCH] f2fs/025: test to do sanity check section type correctly in f2fs GC X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Zorro Lang via Linux-f2fs-devel Reply-To: Zorro Lang Cc: jaegeuk@kernel.org, fstests@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net T24gVHVlLCBKdW4gMTYsIDIwMjYgYXQgMTE6MzM6MjBBTSArMDgwMCwgQ2hhbyBZdSB3cm90ZToK PiBPbiA2LzE2LzI2IDA0OjA1LCBab3JybyBMYW5nIHdyb3RlOgo+ID4gT24gTW9uLCBKdW4gMTUs IDIwMjYgYXQgMDQ6MjI6MzRQTSArMDgwMCwgQ2hhbyBZdSB3cm90ZToKPiA+PiBPbiA2LzE1LzI2 IDAxOjE2LCBab3JybyBMYW5nIHdyb3RlOgo+ID4+PiBPbiBGcmksIEp1biAxMiwgMjAyNiBhdCAx Mjo1ODowMkFNICswMDAwLCBDaGFvIFl1IHdyb3RlOgo+ID4+Pj4gV2l0aG91dCBjb21taXQgNTIw NzYwYjlmOTE1ICgiZjJmczogb3B0aW1pemUgcmVwcmVzZW50YXRpdmUgdHlwZSBkZXRlcm1pbmF0 aW9uCj4gPj4+PiBpbiBHQyIpLCBmMmZzIEdDIHdpbGwgcmVwb3J0IGluY29uc2lzdGVudCBzZWdt ZW50IHR5cGUgaW4gbGFyZ2Ugc2VjdGlvbiBpc3N1ZSwKPiA+Pj4+IGFuZCB0aGVuIGl0IHdpbGwg Zm9yY2UgdG8gc2h1dGRvd24gZmlsZXN5c3RlbS4KPiA+Pj4+Cj4gPj4+PiBbICA3NjguMTkwOTAz XSBGMkZTLWZzIChsb29wNTEpOiBJbmNvbnNpc3RlbnQgc2VnbWVudCAoMykgdHlwZSBbMSwgMF0g aW4gU0lUIGFuZCBTU0EKPiA+Pj4+Cj4gPj4+PiBUaGUgcmVhc29uIGlzIGYyZnMga2VybmVsIHdp bGwgYXNzdW1lIGFsbCBzZWdtZW50IHR5cGUgaW5zaWRlIGxhcmdlIHNlY3Rpb24gaXMKPiA+Pj4+ IHRoZSBzYW1lLCBkdXJpbmcgR0MgaXQgbG9hZHMgdHlwZSBmcm9tIG9uZSBzZWdtZW50IGFuZCBj b21wYXJlIGl0IHRvIG90aGVyCj4gPj4+PiBzZWdtZW50cycgdHlwZSwgaG93ZXZlciBkdWUgdG8g cmVjb3ZlcnkgZmxvdywgdGhlIGNob3NlbiBzZWdtZW50IG1heSBoYXMgemVybwo+ID4+Pj4gdmFs aWQgYmxvY2tzIHcvIGRpZmZlcmVudCBzZWdtZW50IHR5cGUsIHNpbmNlIHRoZSBzZWdtZW50IGlz IGludmFsaWQoZnJlZSkgb25lLAo+ID4+Pj4gaXQgd2lsbCBuZXZlciBiZSBtaWdyYXRlZCwgc28g dGhhdCB3ZSBzaG91bGQgbm90IHRyZWF0IHN1Y2ggc3RhdGUgYXMgYWJub3JtYWwKPiA+Pj4+IGNv bmRpdGlvbi4KPiA+Pj4+Cj4gPj4+PiBUaGlzIHRlc3RjYXNlIGlzIGNyZWF0ZWQgdG8gc2ltdWxh dGUgYWJvdmUgY29uZGl0aW9uIHRvIHNlZSB3aGV0aGVyIGYyZnMga2VybmVsCj4gPj4+PiBtb2R1 bGUgY2FuIGhhbmRsZSBpdCBjb3JyZWN0bHkKPiA+Pj4+Cj4gPj4+PiBTaWduZWQtb2ZmLWJ5OiBD aGFvIFl1IDxjaGFvQGtlcm5lbC5vcmc+Cj4gPj4+PiAtLS0KPiA+Pj4+IHYyOgo+ID4+Pj4gLSBj bGVhciBNS0ZTX09QVElPTlMgYW5kIE1PVU5UX09QVElPTlMgdG8gZ3VhcmFudGVlIGJsb2NrIGFs bG9jYXRpb24gaXMgYXMgZXhwZWN0ZWQuCj4gPj4+Cj4gPj4+IEhpIENoYW8sCj4gPj4+Cj4gPj4+ IFNvcnJ5LCBJIGp1c3Qgbm90aWNlZCB5b3VyIHJlcGx5IHRvIG15IHJldmlldyBvbiB0aGUgcHJl dmlvdXMgcGF0Y2ggdmVyc2lvbi4KPiA+Pj4gRHVlIHRvIHNvbWUgdW5leHBlY3RlZCBzaGFrZS11 cHMgcmVjZW50bHksIEnigJl2ZSBiZWVuIGJvZ2dlZCBkb3duIHdpdGggc2V0dGluZwo+ID4+PiB1 cCBhbmQgbW9kaWZ5aW5nIHZhcmlvdXMgbmV3IHN5c3RlbSBlbnZpcm9ubWVudHMsIGFuZCBJIGFj Y2lkZW50YWxseSBtYXJrZWQKPiA+Pj4gc29tZSB1bnJlYWQgZW1haWxzIGFzIHJlYWQuCj4gPj4K PiA+PiBObyB3b3JyaWVzLiA6KQo+ID4+Cj4gPj4+Cj4gPj4+IFRoZSBwYXRjaCBsb29rcyBnb29k IHRvIG1lLCB3aXRoIGp1c3QgYSBmZXcgcGlja3kgcmV2aWV3IHBvaW50cyBiZWxvdzoKPiA+Pgo+ ID4+IFRoYW5rcyBab3JybyBmb3IgdGFraW5nIGEgbG9vay4KPiA+Pgo+ID4+Pgo+ID4+Pj4gIHRl c3RzL2YyZnMvMDI1ICAgICB8IDkyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPiA+Pj4+ICB0ZXN0cy9mMmZzLzAyNS5vdXQgfCAgMiArCj4gPj4+PiAgMiBm aWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspCj4gPj4+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0 IHRlc3RzL2YyZnMvMDI1Cj4gPj4+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2YyZnMvMDI1 Lm91dAo+ID4+Pj4KPiA+Pj4+IGRpZmYgLS1naXQgYS90ZXN0cy9mMmZzLzAyNSBiL3Rlc3RzL2Yy ZnMvMDI1Cj4gPj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4+Pj4gaW5kZXggMDAwMDAwMDAw Li4zOTdlNTQzOWEKPiA+Pj4+IC0tLSAvZGV2L251bGwKPiA+Pj4+ICsrKyBiL3Rlc3RzL2YyZnMv MDI1Cj4gPj4+PiBAQCAtMCwwICsxLDkyIEBACj4gPj4+PiArIyEgL2Jpbi9iYXNoCj4gPj4+PiAr IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAo+ID4+Pj4gKyMgQ29weXJpZ2h0IChj KSAyMDI2IENoYW8gWXUgPGNoYW9Aa2VybmVsLm9yZz4KPiA+Pj4+ICsjCj4gPj4+PiArIyBGUyBR QSBUZXN0IE5vLiBmMmZzLzAyNQo+ID4+Pj4gKyMKPiA+Pj4+ICsjIENoZWNrIHdoZXRoZXIgZjJm cyB3aWxsIGVuY291bnRlciBjcF9lcnJvciAoSW5jb25zaXN0ZW50IHNlZ21lbnQgdHlwZSkKPiA+ Pj4+ICsjIHdoZW4gZG9pbmcgc2FuaXR5IGNoZWNrIG9uIHR5cGUgb2Ygc2VnbWVudHMgaW5zaWRl IGxhcmdlIHNlY3Rpb24gZHVyaW5nCj4gPj4+PiArIyBnYXJiYWdlIGNvbGxlY3Rpb24uCj4gPj4+ PiArIwo+ID4+Pj4gKy4gLi9jb21tb24vcHJlYW1ibGUKPiA+Pj4+ICtfYmVnaW5fZnN0ZXN0IGF1 dG8gcXVpY2sKPiA+Pj4+ICsKPiA+Pj4+ICtfZml4ZWRfYnlfa2VybmVsX2NvbW1pdCA1MjA3NjBi OWY5MTUgXAo+ID4+Pj4gKwkiZjJmczogb3B0aW1pemUgcmVwcmVzZW50YXRpdmUgdHlwZSBkZXRl cm1pbmF0aW9uIGluIEdDIgo+ID4+Pj4gKwo+ID4+Pj4gKy4gLi9jb21tb24vZmlsdGVyCj4gPj4+ PiArCj4gPj4+PiArX2NsZWFudXAoKQo+ID4+Pj4gK3sKPiA+Pj4+ICsJY2QgLwo+ID4+Pj4gKwly bSAtciAtZiAkdG1wLioKPiA+Pj4+ICt9Cj4gPj4+Cj4gPj4+IFRoaXMgX2NsZWFudXAoKSBmdW5j dGlvbiBpcyBzYW1lIGFzIGRlZmF1bHQuIEl0IGNhbiBiZSByZW1vdmVkLgo+ID4+Cj4gPj4gV2ls bCByZW1vdmUuCj4gPj4KPiA+Pj4KPiA+Pj4+ICsKPiA+Pj4+ICtfcmVxdWlyZV9zY3JhdGNoCj4g Pj4+PiArX3JlcXVpcmVfeGZzX2lvX2NvbW1hbmQgInB3cml0ZSIKPiA+Pj4+ICtfcmVxdWlyZV94 ZnNfaW9fY29tbWFuZCAidHJ1bmNhdGUiCj4gPj4+PiArX3JlcXVpcmVfY29tbWFuZCAiJEYyRlNf SU9fUFJPRyIgZjJmc19pbwo+ID4+Pj4gK19yZXF1aXJlX2NoZWNrX2RtZXNnCj4gPj4+PiArCj4g Pj4+PiArIyBDbGVhciBvcHRpb25zIHRvIGF2b2lkIGludGVyZmVyZW5jZSBmcm9tIGV4dGVybmFs IGNvbmZpZ3VyYXRpb25zCj4gPj4+PiArZXhwb3J0IE1LRlNfT1BUSU9OUz0iIgo+ID4+Pj4gK2V4 cG9ydCBNT1VOVF9PUFRJT05TPSIiCj4gPj4+PiArCj4gPj4+PiArIyBGb3JtYXQgd2l0aCA5Nk1C IHNpemUgYW5kIDIgc2VnbWVudHMgcGVyIHNlY3Rpb24KPiA+Pj4+ICtfc2NyYXRjaF9ta2ZzX3Np emVkICQoKDk2ICogMTAyNCAqIDEwMjQpKSAiIiAiLXMgMiIgPj4gJHNlcXJlcy5mdWxsIDI+JjEK PiA+Pj4+ICsKPiA+Pj4+ICsjIE1vdW50IHdpdGggbW9kZT1sZnMKPiA+Pj4+ICtfc2NyYXRjaF9t b3VudCAtbyBtb2RlPWxmcyA+PiAkc2VxcmVzLmZ1bGwgMj4mMQo+ID4+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5eXl5eXl5eXgo+ID4+PiBJdCdzIGhlbHBsZXNz LCBkdWUgdG8gaWYgX3NjcmF0Y2hfbW91bnQgZmFpbHMsIGl0IGV4aXQoKSBkaXJlY3RseS4KPiA+ Pgo+ID4+IFJpZ2h0LCB3aWxsIGZpeC4KPiA+Pgo+ID4+Pgo+ID4+Pj4gKwo+ID4+Pj4gKyMgQ3Jl YXRlIGZpbGVzIHRvIGZpbGwgd2hvbGUgZmlsZXN5c3RlbSwgdGhlbiBzZWdtZW50IHR5cGUgd2ls bCBiZSBjaGFuZ2VkIHRvIG5vZGUgdHlwZQo+ID4+Pj4gK2ZvciAoKGk9MDtpPDUxMjA7aSsrKSkg ZG8KPiA+Pj4+ICsJdG91Y2ggJFNDUkFUQ0hfTU5ULyRpID4+ICRzZXFyZXMuZnVsbCAyPiYxCj4g Pj4+PiArZG9uZQo+ID4+Pj4gK3N5bmMKPiA+Pj4+ICsKPiA+Pj4+ICsjIFJlbW92ZSBhbGwgZmls ZXMgdG8gY3JlYXRlIGZyZWUoZW1wdHkpIG5vZGUgc2VnbWVudHMKPiA+Pj4+ICtybSAtZiAkU0NS QVRDSF9NTlQvKgo+ID4+Pj4gK3N5bmMKPiA+Pj4+ICsKPiA+Pj4+ICsjIEFsbG9jYXRlIGZyZWUg c3BhY2Ugc28gdGhhdCB3ZSBoYXZlIGNoYW5jZSB0byByZXVzZSBmcmVlKGVtcHR5KSBub2RlIHNl Z21lbnRzCj4gPj4+PiArJFhGU19JT19QUk9HIC1mIC1jICJwd3JpdGUgLWIgNGsgMCAxOTI4ayIg JFNDUkFUQ0hfTU5UL2ZpbGUgPj4gJHNlcXJlcy5mdWxsIDI+JjEKPiA+Pj4+ICtzeW5jCj4gPj4+ PiArCj4gPj4+PiArJFhGU19JT19QUk9HIC1jICJ0cnVuY2F0ZSAwIiAkU0NSQVRDSF9NTlQvZmls ZSA+PiAkc2VxcmVzLmZ1bGwgMj4mMQo+ID4+Pj4gKyRYRlNfSU9fUFJPRyAtZCAtYyAicHdyaXRl IC1iIDRrIDAgMTZNIiAkU0NSQVRDSF9NTlQvZmlsZSA+PiAkc2VxcmVzLmZ1bGwgMj4mMQo+ID4+ Pj4gKyRYRlNfSU9fUFJPRyAtYyAidHJ1bmNhdGUgMCIgJFNDUkFUQ0hfTU5UL2ZpbGUgPj4gJHNl cXJlcy5mdWxsIDI+JjEKPiA+Pj4+ICskWEZTX0lPX1BST0cgLWQgLWMgInB3cml0ZSAtYiA0ayAw IDE2TSIgJFNDUkFUQ0hfTU5UL2ZpbGUgPj4gJHNlcXJlcy5mdWxsIDI+JjEKPiA+Pj4+ICskWEZT X0lPX1BST0cgLWMgInRydW5jYXRlIDAiICRTQ1JBVENIX01OVC9maWxlID4+ICRzZXFyZXMuZnVs bCAyPiYxCj4gPj4+PiArc3luYwo+ID4+Pj4gKwo+ID4+Pj4gKyRYRlNfSU9fUFJPRyAtZCAtYyAi cHdyaXRlIC1iIDRrIDAgOE0iICRTQ1JBVENIX01OVC9maWxlID4+ICRzZXFyZXMuZnVsbCAyPiYx Cj4gPj4+PiArJFhGU19JT19QUk9HIC1jICJ0cnVuY2F0ZSAwIiAkU0NSQVRDSF9NTlQvZmlsZSA+ PiAkc2VxcmVzLmZ1bGwgMj4mMQo+ID4+Pj4gKyRYRlNfSU9fUFJPRyAtZCAtYyAicHdyaXRlIC1i IDRrIDAgMzJLIiAkU0NSQVRDSF9NTlQvZmlsZSA+PiAkc2VxcmVzLmZ1bGwgMj4mMQo+ID4+Pj4g KyRYRlNfSU9fUFJPRyAtYyAidHJ1bmNhdGUgMCIgJFNDUkFUQ0hfTU5UL2ZpbGUgPj4gJHNlcXJl cy5mdWxsIDI+JjEKPiA+Pj4+ICskWEZTX0lPX1BST0cgLWQgLWMgInB3cml0ZSAtYiA0ayAwIDJN IiAtYyAiZnN5bmMiICRTQ1JBVENIX01OVC9maWxlID4+ICRzZXFyZXMuZnVsbCAyPiYxCj4gPj4+ PiArCj4gPj4+PiArIyBTaHV0ZG93biB0aGUgZmlsZXN5c3RlbSB3aXRob3V0IGNoZWNrcG9pbnQK PiA+Pj4+ICskRjJGU19JT19QUk9HIHNodXRkb3duIDIgJFNDUkFUQ0hfTU5UID4+ICRzZXFyZXMu ZnVsbCAyPiYxCj4gPj4+Cj4gPj4+IEknbSB3b25kZXJpbmcgaWYgd2UgY2FuIGhhdmUgZjJmcyBz dXBwb3J0aW5nIGluIGNvbW1vbiBfc2NyYXRjaF9zaHV0ZG93bgo+ID4+PiBoZWxwZXIgOikKPiA+ Pgo+ID4+IEkgdGhpbmsgd2UgY2FuIGNoYW5nZSBmMmZzIHRlc3RjYXNlIHRvIHVzZSBfc2NyYXRj aF9zaHV0ZG93biBiZWNhdXNlIHRoZSBkZWZpbml0aW9uIG9mCj4gPj4gbm9sb2dmbHVzaCBzaHV0 ZG93biBpbnRlcmZhY2UgaXMgdGhlIHNhbWUgYXMgeGZzJzoKPiA+Pgo+ID4+IC8qCj4gPj4gICog c2hvdWxkIGJlIHNhbWUgYXMgWEZTX0lPQ19HT0lOR0RPV04uCj4gPj4gICogRmxhZ3MgZm9yIGdv aW5nIGRvd24gb3BlcmF0aW9uIHVzZWQgYnkgRlNfSU9DX0dPSU5HRE9XTgo+ID4+ICAqLwo+ID4+ ICNkZWZpbmUgRjJGU19JT0NfU0hVVERPV04JX0lPUignWCcsIDEyNSwgX191MzIpCS8qIFNodXRk b3duICovCj4gPj4gI2RlZmluZSBGMkZTX0dPSU5HX0RPV05fTk9TWU5DCQkweDIJLyogZ29pbmcg ZG93biAqLwo+ID4+Cj4gPj4gI2RlZmluZSBYRlNfSU9DX0dPSU5HRE9XTgkgICAgIF9JT1IgKCdY JywgMTI1LCB1aW50MzJfdCkKPiA+PiAjZGVmaW5lIFhGU19GU09QX0dPSU5HX0ZMQUdTX05PTE9H RkxVU0gJCTB4MgkvKiBkb24ndCBmbHVzaCBsb2cgbm9yIGRhdGEgKi8KPiA+Pgo+ID4+Pgo+ID4+ Pj4gKwo+ID4+Pj4gK19zY3JhdGNoX3VubW91bnQgPj4gJHNlcXJlcy5mdWxsIDI+JjEKPiA+Pj4g ICAgICAgICAgICAgICAgICAgICBeXl5eXl5eXl5eXl5eXl5eXl5eXgo+ID4+Pgo+ID4+PiBJZiB1 bm1vdW50IGZhaWxzLCBob3cgYWJvdXQgbGV0IGl0IG91dHB1dCB0aGUgZXJyb3JzLCB0byBicmVh ayB0aGUgZ29sZGVuIGltYWdlPwo+ID4+Cj4gPj4gWWVzLCBpdCdzIGJldHRlci4KPiA+Pgo+ID4+ Pgo+ID4+Pj4gKwo+ID4+Pj4gK19zY3JhdGNoX21vdW50IC1vIG1vZGU9bGZzID4+ICRzZXFyZXMu ZnVsbCAyPiYxCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5e Xl5eXl5eXl5eCj4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHBsZXNzCj4g Pj4KPiA+PiBXaWxsIGZpeC4KPiA+Pgo+ID4+Pgo+ID4+Pj4gKwo+ID4+Pj4gKyMgUnVuIHVyZ2Vu dF9nYyBtb2RlIHRvIHRyaWdnZXIgZ2FyYmFnZSBjb2xsZWN0aW9uCj4gPj4+PiArZGV2X25hbWU9 JChfc2hvcnRfZGV2ICRTQ1JBVENIX0RFVikKPiA+Pj4+ICtpZiBbIC1mIC9zeXMvZnMvZjJmcy8k ZGV2X25hbWUvZ2NfdXJnZW50IF07IHRoZW4KPiA+Pj4+ICsJZWNobyAxID4gL3N5cy9mcy9mMmZz LyRkZXZfbmFtZS9nY191cmdlbnQKPiA+Pj4+ICtmaQo+ID4+Pgo+ID4+PiBIbW0uLi4gd2hhdCBp ZiB0aGVyZSdzIG5vdCAvc3lzL2ZzL2YyZnMvJGRldl9uYW1lL2djX3VyZ2VudD8gRG9lcyBpdAo+ ID4+PiBhZmZlY3QgdGhlIHRlc3QgcmVzdWx0Pwo+ID4+Pgo+ID4+PiBJZiBpdCBkb2VzLCB0aGlz J3MgYSBuZWNlc3NhcnkgcmVxdWlyZW1lbnQgZm9yIHRoaXMgdGVzdCwgd2Ugc2hvdWxkbid0Cj4g Pj4+IGlnbm9yZSBpdCBhbmQga2VlcCBydW5uaW5nLiBEb2VzICRGMkZTX0lPX1BST0cgcHJvdmlk ZSBhIGNvbW1hbmQgdG8KPiA+Pj4gbWFrZSBhIGZvcmNlIEdDPyBPciB3ZSBuZWVkIHRvIGNoZWNr IHRoaXMgZmlsZSBhbmQgX25vdHJ1biBpZiBpdCdzCj4gPj4+IG5vdCBleGlzdGVkLgo+ID4+Cj4g Pj4gQWgsIHJpZ2h0LCB0aGF0J3MgZ29vZCBwb2ludCEKPiA+Pgo+ID4+IFdlIGNhbiB1c2UgIiRG MkZTX0lPX1BST0cgZ2NfdXJnZW50IDxkZXZfbmFtZT4gcnVuIDUiIGluc3RlYWQsIGl0IHdpbGwg ZG8gYmVsb3cgY29tbWFuZHM6Cj4gPiAKPiA+IEdyZWF0LCBJIGp1c3QgaG9wZSB0aGUgKmdjX3Vy Z2VudCogaXNuJ3QgYSBuZXcgZmVhdHVyZSB3aGljaCBuZWVkcyBzb21ldGhpbmcgbGlrZXM6Cj4g Cj4gSSBndWVzcyBpdCdzIG5vdCBhIG5ldyBzdWJjb21tYW5kIGZvciBmMmZzX2lvLAo+IAo+IGNv bW1pdCAyMmQ3NThlMmU2YWYyMTBkYzllNmNkZjk5NDM4ZjA2MzM4M2JhNzJmCj4gQXV0aG9yOiBK YWVnZXVrIEtpbSA8amFlZ2V1a0BrZXJuZWwub3JnPgo+IERhdGU6ICAgVHVlIEZlYiAxOSAxOTow NzoyMSAyMDE5IC0wODAwCj4gCj4gICAgIGYyZnNfaW86IGFkZCBnY191cmdlbnQKPiAKPiAgICAg ZS5nLiwKPiAgICAgZjJmc19pbyBnY191cmdlbnQgZG0tNCBbc3RhcnQvZW5kL3J1bl0gW3RpbWUg aW4gc2VjXQo+IAo+ICAgICBUaGlzIGNvbnRyb2xzIHN5c2ZzL2djX3VyZ2VudCB0byBydW4gZjJm c19nYyB1cmdlbnRseS4KPiAKPiAgICAgU2lnbmVkLW9mZi1ieTogSmFlZ2V1ayBLaW0gPGphZWdl dWtAa2VybmVsLm9yZz4KPiAKPiA+IGBfcmVxdWlyZV9mMmZzX2lvIGdjX3VyZ2VudGAgKHRoZXJl J3Mgbm90IF9yZXF1aXJlX2YyZnNfaW86KQo+IAo+IEFncmVlZCwgd2UgbmVlZCB0byBpbnRyb2R1 Y2UgX3JlcXVpcmVfZjJmc19pbygpLCBsZXQgbWUgd29yayBvbiB0aGlzLgoKT2gsIDIwMTkgd2Fz IDcgeWVhcnMgYWdvLiBObyBvbmUgc2hvdWxkIGJlIGNvbXBsYWluaW5nIGFib3V0IHRoaXMgdW5s ZXNzCnRoZXkncmUgb24gYSBzdXBlciBvbGQgZG93bnN0cmVhbSBmMmZzLXRvb2xzLiBCdXQgYW55 d2F5LCBoYXZpbmcKX3JlcXVpcmVfZjJmc19pbyBpcyBkZWZpbml0ZWx5IGdvb2QgZm9yIGZ1dHVy ZSBmMmZzIHRlc3RpbmcgOikKClRoZXJlZm9yZSwgX3JlcXVpcmVfZjJmc19pbyBpcyBub3Qgc3Ry aWN0bHkgdXJnZW50IGZvciB0aGlzIHBhdGNoLiBJdCdzIHVwIHRvCnlvdSB3aGV0aGVyIHRvIGlu Y2x1ZGUgaXQgbm93IG9yIGhhbmRsZSBpdCBpbiBhIGxhdGVyIHVwZGF0ZS4KCj4gCj4gPiAKPiA+ PiAxLiBlY2hvIDEgPiAvc3lzL2ZzL2YyZnMvJGRldl9uYW1lL2djX3VyZ2VudAo+ID4+IDIuIHNs ZWVwIDUgc2Vjb25kcwo+ID4+IDMuIGVjaG8gMCA+IC9zeXMvZnMvZjJmcy8kZGV2X25hbWUvZ2Nf dXJnZW50Cj4gPiAKPiA+IEl0IGFsc28gZGVwZW5kcyBvbiB0aGUgL3N5cy9mcy9mMmZzLyRkZXZf bmFtZS9nY191cmdlbnQgdG9vLiBTbyB3ZSBoYXZlIHRvIGZhY2UKPiA+IHRoZSBzYW1lIHF1ZXN0 aW9uOgo+ID4gICBJZiB0aGlzIGZpbGUgZG9lc24ndCBleGlzdCwgc2hvdWxkIHRoaXMgdGVzdCBj YXNlIF9ub3RydW4/Cj4gCj4gT2gsIHJpZ2h0LCBtYXliZSB3ZSBjYW4gaW50cm9kdWNlIF9yZXF1 aXJlX2YyZnNfc3lzZnMoKSB0byBjaGVjayB3aGV0aGVyIGYyZnMga2VybmVsCj4gbW9kdWxlIGhh cyBzdXBwb3J0ZWQgdGFyZ2V0IHN5c2ZzIG5vZGU/CgpUaGVyZSdzIGEgX3JlcXVpcmVfZnNfc3lz ZnNfYXR0ciwgc28uLi4KCmlmIHlvdSBkb24ndCBjYXJlIGFib3V0ICRTQ1JBVENIX0RFViBpcyBt b3VudGVkIG9yIG5vdCwgeW91IGNhbjoKICBfcmVxdWlyZV9mc19zeXNmc19hdHRyICRURVNUX0RF ViBnY191cmdlbnQKCm9yIGFmdGVyIF9zY3JhdGNoX21vdW50OgogIF9yZXF1aXJlX2ZzX3N5c2Zz X2F0dHIgJFNDUkFUQ0hfREVWIGdjX3VyZ2VudAoKVGhlbiBJIHRoaW5rIHlvdSBjYW4gZWl0aGVy IHVzZSBgJEYyRlNfSU9fUFJPRyBnY191cmdlbnRgLCBvciBpZiB5b3UncmUgd29ycmllZAphYm91 dCBpdHMgY29tcGF0aWJpbGl0eSwgeW91IGNhbjoKICBfc2V0X2ZzX3N5c2ZzX2F0dHIgJFNDUkFU Q0hfREVWIGdjX3VyZ2VudCAxCiAgc2xlZXAgNQoKVGhhbmtzLApab3JybwoKPiAKPiBUaGFua3Ms Cj4gCj4gPiAKPiA+IFRoYW5rcywKPiA+IFpvcnJvCj4gPiAKPiA+Pgo+ID4+Pgo+ID4+Pj4gKwo+ ID4+Pj4gKyMgV2FpdCBiYWNrZ3JvdW5kIEdDIHRocmVhZCB0byB3YWtlIHVwIHRvIHJ1biBhbmQg cG90ZW50aWFsbHkgZW5jb3VudGVyIHRoZSBpbmNvbnNpc3RlbmN5Cj4gPj4+PiArc2xlZXAgNQo+ ID4+Pgo+ID4+PiBEb2VzIHRoaXMgc2xlZXAgdHJ5IHRvIHdhaXQgYWJvdmUgImVjaG8gMSA+IC9z eXMvZnMvZjJmcy8kZGV2X25hbWUvZ2NfdXJnZW50Ij8KPiA+Pj4gSWYgc28sIGl0IG1ha2VzIG1v cmUgc2Vuc2UgdG8gbW92ZSBpdCBpbnRvIHRoZSAiaWYtdGhlbiIgbG9naWMuCj4gPj4+Cj4gPj4+ PiArCj4gPj4+PiArX3NjcmF0Y2hfdW5tb3VudCA+PiAkc2VxcmVzLmZ1bGwgMj4mMQo+ID4+PiAg ICAgICAgICAgICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eCj4gPj4+IFNhbWUgYXMgYWJv dmUuCj4gPj4KPiA+PiBXaWxsIGZpeC4KPiA+Pgo+ID4+Pgo+ID4+Pj4gKwo+ID4+Pj4gKyMgQ2hl Y2sgd2hldGhlciB0aGUgZG1lc2cgaGFzIHRoZSB3YXJuaW5nIGluZGljYXRpbmcgdGhlIGJ1Zwo+ ID4+Pj4gK19jaGVja19kbWVzZ19mb3IgIkYyRlMtZnMgXCgkZGV2X25hbWVcKTogSW5jb25zaXN0 ZW50IHNlZ21lbnQiICYmIFwKPiA+Pj4+ICsJX2ZhaWwgIkYyRlMtZnMgKCRkZXZfbmFtZSk6IElu Y29uc2lzdGVudCBzZWdtZW50IHR5cGUgZGV0ZWN0ZWQgaW4gZG1lc2chIgo+ID4+Pj4gKwo+ID4+ Pj4gK2VjaG8gIlNpbGVuY2UgaXMgZ29sZGVuIgo+ID4+Pj4gK3N0YXR1cz0wCj4gPj4+PiArZXhp dAo+ID4+Pgo+ID4+PiBXZSd2ZSByZXBsYWNlZCAic3RhdHVzPTA7ZXhpdDsiIHdpdGggIl9leGl0 IDAiLgo+ID4+Cj4gPj4gV2lsbCBmaXguCj4gPj4KPiA+PiBUaGFua3MsCj4gPj4KPiA+Pj4KPiA+ Pj4gVGhhbmtzLAo+ID4+PiBab3Jybwo+ID4+Pgo+ID4+Pj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2Yy ZnMvMDI1Lm91dCBiL3Rlc3RzL2YyZnMvMDI1Lm91dAo+ID4+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQKPiA+Pj4+IGluZGV4IDAwMDAwMDAwMC4uM2Q3MDk1MWVmCj4gPj4+PiAtLS0gL2Rldi9udWxs Cj4gPj4+PiArKysgYi90ZXN0cy9mMmZzLzAyNS5vdXQKPiA+Pj4+IEBAIC0wLDAgKzEsMiBAQAo+ ID4+Pj4gK1FBIG91dHB1dCBjcmVhdGVkIGJ5IDAyNQo+ID4+Pj4gK1NpbGVuY2UgaXMgZ29sZGVu Cj4gPj4+PiAtLSAKPiA+Pj4+IDIuNDkuMAo+ID4+Pj4KPiA+Pgo+ID4+Cj4gCj4gCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtZjJmcy1kZXZl bCBtYWlsaW5nIGxpc3QKTGludXgtZjJmcy1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0 cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vbGludXgtZjJmcy1kZXZl bAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 81C843CFF60 for ; Tue, 16 Jun 2026 05:47:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781588859; cv=none; b=d8ID7EY8M2X8TsotNleQ7R92GYgVCh+r9O1SUOf7jqCC4nJqh/uDlE8EYPWz0hX363kS/0V/Hcg+2kQuJ3VzexaDh8czbGg4LyyPomJ28vocdbA/sBF8y1e57W/dGjdEKz72E9o3wd1lTUGzu8FghEdnscCvcRhrNbsyj81LY7s= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781588859; c=relaxed/simple; bh=0qNpn7xbHqN91yB0gU4FoIurZxNsfwl3StZfWmAaVNA=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=t9wcivtnM7kra3gTAyMZalolOLXjExI1y0MxHJxnqkuKpOPgx1f+DhPx82pVJYfQjQtK60fPCd8QqiE+KSw6dqNADZ+4iTQSSc0Lwk8SolCPJoYbtiMqwWNW8ceoj2/qKIzSnw4mUR3uOEpepugpBN4UTEVCk/AgRfsEOIQ0XHs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=o2KvQiVZ; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="o2KvQiVZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0F62A1F00A3A; Tue, 16 Jun 2026 05:47:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1781588858; bh=G/SIH5c/f+2pTisr+DrzV9BHZE3y+hfPFAwnl/lvf4A=; h=Date:From:To:Cc:Subject:References:In-Reply-To; b=o2KvQiVZog+utZnc4fAXLH9eFhnUEzFhW5EFMdLtnXyuYHD3tsFh68kvzCSSQwgbQ nSA8hrZCWJVqp+mjoNymHlGD2dmAxf7uCpNnTX9FUbWiQtA8SrHzM9ou0TvLUY2TZq 6sK97LMW30o/VCj+a+04dufnIxwo8kHOwZSWt2TsqS+e9m39LMPBA87W+z3MKWg4mJ Wp4k2RNALkMNyZtNNN/be5I4hNgViWNwQUJWuaBEa4Yhdq9eY6PdOFShJDzi2XgNtX RnQ31LvQ789zxy0UdFz80o7L9P+wrZxKiHkUAEQGo8NrNEo7Lm7xxVxe6Gnlnn1nzT P+MEhenkvNOPQ== Date: Tue, 16 Jun 2026 13:47:32 +0800 From: Zorro Lang To: Chao Yu Cc: fstests@vger.kernel.org, jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net Subject: Re: [PATCH] f2fs/025: test to do sanity check section type correctly in f2fs GC Message-ID: Mail-Followup-To: Chao Yu , fstests@vger.kernel.org, jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net References: <20260612005802.3017709-1-chao@kernel.org> Precedence: bulk X-Mailing-List: fstests@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Tue, Jun 16, 2026 at 11:33:20AM +0800, Chao Yu wrote: > On 6/16/26 04:05, Zorro Lang wrote: > > On Mon, Jun 15, 2026 at 04:22:34PM +0800, Chao Yu wrote: > >> On 6/15/26 01:16, Zorro Lang wrote: > >>> On Fri, Jun 12, 2026 at 12:58:02AM +0000, Chao Yu wrote: > >>>> Without commit 520760b9f915 ("f2fs: optimize representative type determination > >>>> in GC"), f2fs GC will report inconsistent segment type in large section issue, > >>>> and then it will force to shutdown filesystem. > >>>> > >>>> [ 768.190903] F2FS-fs (loop51): Inconsistent segment (3) type [1, 0] in SIT and SSA > >>>> > >>>> The reason is f2fs kernel will assume all segment type inside large section is > >>>> the same, during GC it loads type from one segment and compare it to other > >>>> segments' type, however due to recovery flow, the chosen segment may has zero > >>>> valid blocks w/ different segment type, since the segment is invalid(free) one, > >>>> it will never be migrated, so that we should not treat such state as abnormal > >>>> condition. > >>>> > >>>> This testcase is created to simulate above condition to see whether f2fs kernel > >>>> module can handle it correctly > >>>> > >>>> Signed-off-by: Chao Yu > >>>> --- > >>>> v2: > >>>> - clear MKFS_OPTIONS and MOUNT_OPTIONS to guarantee block allocation is as expected. > >>> > >>> Hi Chao, > >>> > >>> Sorry, I just noticed your reply to my review on the previous patch version. > >>> Due to some unexpected shake-ups recently, I’ve been bogged down with setting > >>> up and modifying various new system environments, and I accidentally marked > >>> some unread emails as read. > >> > >> No worries. :) > >> > >>> > >>> The patch looks good to me, with just a few picky review points below: > >> > >> Thanks Zorro for taking a look. > >> > >>> > >>>> tests/f2fs/025 | 92 ++++++++++++++++++++++++++++++++++++++++++++++ > >>>> tests/f2fs/025.out | 2 + > >>>> 2 files changed, 94 insertions(+) > >>>> create mode 100644 tests/f2fs/025 > >>>> create mode 100644 tests/f2fs/025.out > >>>> > >>>> diff --git a/tests/f2fs/025 b/tests/f2fs/025 > >>>> new file mode 100644 > >>>> index 000000000..397e5439a > >>>> --- /dev/null > >>>> +++ b/tests/f2fs/025 > >>>> @@ -0,0 +1,92 @@ > >>>> +#! /bin/bash > >>>> +# SPDX-License-Identifier: GPL-2.0 > >>>> +# Copyright (c) 2026 Chao Yu > >>>> +# > >>>> +# FS QA Test No. f2fs/025 > >>>> +# > >>>> +# Check whether f2fs will encounter cp_error (Inconsistent segment type) > >>>> +# when doing sanity check on type of segments inside large section during > >>>> +# garbage collection. > >>>> +# > >>>> +. ./common/preamble > >>>> +_begin_fstest auto quick > >>>> + > >>>> +_fixed_by_kernel_commit 520760b9f915 \ > >>>> + "f2fs: optimize representative type determination in GC" > >>>> + > >>>> +. ./common/filter > >>>> + > >>>> +_cleanup() > >>>> +{ > >>>> + cd / > >>>> + rm -r -f $tmp.* > >>>> +} > >>> > >>> This _cleanup() function is same as default. It can be removed. > >> > >> Will remove. > >> > >>> > >>>> + > >>>> +_require_scratch > >>>> +_require_xfs_io_command "pwrite" > >>>> +_require_xfs_io_command "truncate" > >>>> +_require_command "$F2FS_IO_PROG" f2fs_io > >>>> +_require_check_dmesg > >>>> + > >>>> +# Clear options to avoid interference from external configurations > >>>> +export MKFS_OPTIONS="" > >>>> +export MOUNT_OPTIONS="" > >>>> + > >>>> +# Format with 96MB size and 2 segments per section > >>>> +_scratch_mkfs_sized $((96 * 1024 * 1024)) "" "-s 2" >> $seqres.full 2>&1 > >>>> + > >>>> +# Mount with mode=lfs > >>>> +_scratch_mount -o mode=lfs >> $seqres.full 2>&1 > >>> ^^^^^^^^^^^^^^^^^^^^ > >>> It's helpless, due to if _scratch_mount fails, it exit() directly. > >> > >> Right, will fix. > >> > >>> > >>>> + > >>>> +# Create files to fill whole filesystem, then segment type will be changed to node type > >>>> +for ((i=0;i<5120;i++)) do > >>>> + touch $SCRATCH_MNT/$i >> $seqres.full 2>&1 > >>>> +done > >>>> +sync > >>>> + > >>>> +# Remove all files to create free(empty) node segments > >>>> +rm -f $SCRATCH_MNT/* > >>>> +sync > >>>> + > >>>> +# Allocate free space so that we have chance to reuse free(empty) node segments > >>>> +$XFS_IO_PROG -f -c "pwrite -b 4k 0 1928k" $SCRATCH_MNT/file >> $seqres.full 2>&1 > >>>> +sync > >>>> + > >>>> +$XFS_IO_PROG -c "truncate 0" $SCRATCH_MNT/file >> $seqres.full 2>&1 > >>>> +$XFS_IO_PROG -d -c "pwrite -b 4k 0 16M" $SCRATCH_MNT/file >> $seqres.full 2>&1 > >>>> +$XFS_IO_PROG -c "truncate 0" $SCRATCH_MNT/file >> $seqres.full 2>&1 > >>>> +$XFS_IO_PROG -d -c "pwrite -b 4k 0 16M" $SCRATCH_MNT/file >> $seqres.full 2>&1 > >>>> +$XFS_IO_PROG -c "truncate 0" $SCRATCH_MNT/file >> $seqres.full 2>&1 > >>>> +sync > >>>> + > >>>> +$XFS_IO_PROG -d -c "pwrite -b 4k 0 8M" $SCRATCH_MNT/file >> $seqres.full 2>&1 > >>>> +$XFS_IO_PROG -c "truncate 0" $SCRATCH_MNT/file >> $seqres.full 2>&1 > >>>> +$XFS_IO_PROG -d -c "pwrite -b 4k 0 32K" $SCRATCH_MNT/file >> $seqres.full 2>&1 > >>>> +$XFS_IO_PROG -c "truncate 0" $SCRATCH_MNT/file >> $seqres.full 2>&1 > >>>> +$XFS_IO_PROG -d -c "pwrite -b 4k 0 2M" -c "fsync" $SCRATCH_MNT/file >> $seqres.full 2>&1 > >>>> + > >>>> +# Shutdown the filesystem without checkpoint > >>>> +$F2FS_IO_PROG shutdown 2 $SCRATCH_MNT >> $seqres.full 2>&1 > >>> > >>> I'm wondering if we can have f2fs supporting in common _scratch_shutdown > >>> helper :) > >> > >> I think we can change f2fs testcase to use _scratch_shutdown because the definition of > >> nologflush shutdown interface is the same as xfs': > >> > >> /* > >> * should be same as XFS_IOC_GOINGDOWN. > >> * Flags for going down operation used by FS_IOC_GOINGDOWN > >> */ > >> #define F2FS_IOC_SHUTDOWN _IOR('X', 125, __u32) /* Shutdown */ > >> #define F2FS_GOING_DOWN_NOSYNC 0x2 /* going down */ > >> > >> #define XFS_IOC_GOINGDOWN _IOR ('X', 125, uint32_t) > >> #define XFS_FSOP_GOING_FLAGS_NOLOGFLUSH 0x2 /* don't flush log nor data */ > >> > >>> > >>>> + > >>>> +_scratch_unmount >> $seqres.full 2>&1 > >>> ^^^^^^^^^^^^^^^^^^^^ > >>> > >>> If unmount fails, how about let it output the errors, to break the golden image? > >> > >> Yes, it's better. > >> > >>> > >>>> + > >>>> +_scratch_mount -o mode=lfs >> $seqres.full 2>&1 > >>> ^^^^^^^^^^^^^^^^^^^^ > >>> helpless > >> > >> Will fix. > >> > >>> > >>>> + > >>>> +# Run urgent_gc mode to trigger garbage collection > >>>> +dev_name=$(_short_dev $SCRATCH_DEV) > >>>> +if [ -f /sys/fs/f2fs/$dev_name/gc_urgent ]; then > >>>> + echo 1 > /sys/fs/f2fs/$dev_name/gc_urgent > >>>> +fi > >>> > >>> Hmm... what if there's not /sys/fs/f2fs/$dev_name/gc_urgent? Does it > >>> affect the test result? > >>> > >>> If it does, this's a necessary requirement for this test, we shouldn't > >>> ignore it and keep running. Does $F2FS_IO_PROG provide a command to > >>> make a force GC? Or we need to check this file and _notrun if it's > >>> not existed. > >> > >> Ah, right, that's good point! > >> > >> We can use "$F2FS_IO_PROG gc_urgent run 5" instead, it will do below commands: > > > > Great, I just hope the *gc_urgent* isn't a new feature which needs something likes: > > I guess it's not a new subcommand for f2fs_io, > > commit 22d758e2e6af210dc9e6cdf99438f063383ba72f > Author: Jaegeuk Kim > Date: Tue Feb 19 19:07:21 2019 -0800 > > f2fs_io: add gc_urgent > > e.g., > f2fs_io gc_urgent dm-4 [start/end/run] [time in sec] > > This controls sysfs/gc_urgent to run f2fs_gc urgently. > > Signed-off-by: Jaegeuk Kim > > > `_require_f2fs_io gc_urgent` (there's not _require_f2fs_io:) > > Agreed, we need to introduce _require_f2fs_io(), let me work on this. Oh, 2019 was 7 years ago. No one should be complaining about this unless they're on a super old downstream f2fs-tools. But anyway, having _require_f2fs_io is definitely good for future f2fs testing :) Therefore, _require_f2fs_io is not strictly urgent for this patch. It's up to you whether to include it now or handle it in a later update. > > > > >> 1. echo 1 > /sys/fs/f2fs/$dev_name/gc_urgent > >> 2. sleep 5 seconds > >> 3. echo 0 > /sys/fs/f2fs/$dev_name/gc_urgent > > > > It also depends on the /sys/fs/f2fs/$dev_name/gc_urgent too. So we have to face > > the same question: > > If this file doesn't exist, should this test case _notrun? > > Oh, right, maybe we can introduce _require_f2fs_sysfs() to check whether f2fs kernel > module has supported target sysfs node? There's a _require_fs_sysfs_attr, so... if you don't care about $SCRATCH_DEV is mounted or not, you can: _require_fs_sysfs_attr $TEST_DEV gc_urgent or after _scratch_mount: _require_fs_sysfs_attr $SCRATCH_DEV gc_urgent Then I think you can either use `$F2FS_IO_PROG gc_urgent`, or if you're worried about its compatibility, you can: _set_fs_sysfs_attr $SCRATCH_DEV gc_urgent 1 sleep 5 Thanks, Zorro > > Thanks, > > > > > Thanks, > > Zorro > > > >> > >>> > >>>> + > >>>> +# Wait background GC thread to wake up to run and potentially encounter the inconsistency > >>>> +sleep 5 > >>> > >>> Does this sleep try to wait above "echo 1 > /sys/fs/f2fs/$dev_name/gc_urgent"? > >>> If so, it makes more sense to move it into the "if-then" logic. > >>> > >>>> + > >>>> +_scratch_unmount >> $seqres.full 2>&1 > >>> ^^^^^^^^^^^^^^^^^^^^ > >>> Same as above. > >> > >> Will fix. > >> > >>> > >>>> + > >>>> +# Check whether the dmesg has the warning indicating the bug > >>>> +_check_dmesg_for "F2FS-fs \($dev_name\): Inconsistent segment" && \ > >>>> + _fail "F2FS-fs ($dev_name): Inconsistent segment type detected in dmesg!" > >>>> + > >>>> +echo "Silence is golden" > >>>> +status=0 > >>>> +exit > >>> > >>> We've replaced "status=0;exit;" with "_exit 0". > >> > >> Will fix. > >> > >> Thanks, > >> > >>> > >>> Thanks, > >>> Zorro > >>> > >>>> diff --git a/tests/f2fs/025.out b/tests/f2fs/025.out > >>>> new file mode 100644 > >>>> index 000000000..3d70951ef > >>>> --- /dev/null > >>>> +++ b/tests/f2fs/025.out > >>>> @@ -0,0 +1,2 @@ > >>>> +QA output created by 025 > >>>> +Silence is golden > >>>> -- > >>>> 2.49.0 > >>>> > >> > >> > >