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 9C688C5DF87 for ; Fri, 21 Aug 2026 08:29:03 +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: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: Subject:References:MIME-Version:Message-ID:Date:In-Reply-To:To:From:Sender: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=D0nPq8B+zcZX5yPPoNUB9sYvbjlzN5+V30OnIu6YJbY=; b=KqaTSL6YWBjUO7b4T2hHLf3eR3 z4Fwd545xBiAORPlkFm6PjXmjOivkBGo+UP1NXK1ySDbWmfbk1bIivGuZDaCW+7NAJnHmENAmW86V ZqmGwqb6sS6JKURHcgk+RnBjTEFVCj95zmVgPB1lMIfrpipMazXOMhBH93TPGCar6kY8=; Received: from [127.0.0.1] (helo=sfs-ml-4.v29.lw.sourceforge.com) by sfs-ml-4.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1wxKcY-0001w3-6F; Fri, 21 Aug 2026 08:29:02 +0000 Received: from [172.30.29.66] (helo=mx.sourceforge.net) by sfs-ml-4.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1wxKcW-0001vp-3N for linux-f2fs-devel@lists.sourceforge.net; Fri, 21 Aug 2026 08:29:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=References:Content-Type:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:In-Reply-To:Cc:To:From: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=pQPoPH1SuhFjgQZFX4t7BlZVW4qbKx4CLm9iKLdtmUI=; b=mjsAltVqB20A6QBxTSWEfui4kO 1IKVzJ+oASIud7d0fwmeSmWLu9AxrQFpg2DXoa+sD2tg/AkHKFxtRNk9QXPj86qRT2sftOTyxshH2 5lDAB+pWUal8WhilZF0TBseDFLK+orZ6ZvFctaHfK0VDKJiWjKEFoeTajv0AnZe9StT0=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=References:Content-Type:Content-Transfer-Encoding:MIME-Version:Message-ID :Date:Subject:In-Reply-To:Cc:To:From: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=pQPoPH1SuhFjgQZFX4t7BlZVW4qbKx4CLm9iKLdtmUI=; b=i8NSL69GbTpM728sosmgF5IWCL Wpr5CpKDyNzOsxkgdG7If91u/Atib4fs2fWa8tOF6pqC3Y8yk9mi9MZeStObFuONqMlG4o74cOGjX 92K6lKXZeMUUGyKGZRnzxsTnFlXh/K+pbzSXh1rNv7Ix0hZmvV0Nw9qVAKS0J4wvCin4=; Received: from mailout2.samsung.com ([203.254.224.25]) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1wxKcU-0003KF-Nn for linux-f2fs-devel@lists.sourceforge.net; Fri, 21 Aug 2026 08:29:00 +0000 Received: from epcas1p1.samsung.com (unknown [182.195.41.45]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20260821082851epoutp02f2e1d93e95f6a181a7ab2cedee555765~NxLpK_fEX1083210832epoutp02a for ; Fri, 21 Aug 2026 08:28:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20260821082851epoutp02f2e1d93e95f6a181a7ab2cedee555765~NxLpK_fEX1083210832epoutp02a DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1787300931; bh=pQPoPH1SuhFjgQZFX4t7BlZVW4qbKx4CLm9iKLdtmUI=; h=From:To:Cc:In-Reply-To:Subject:Date:References:From; b=jx81fnpO/V1yuvUfWXKzxCronfYbIq3QHOSlCPZF4xitEAiytfrtc6VV9shpLkOxi k9dO4H0MfqGTXOMXfI7G+VhY7Tt+vzHMzWo8Z4th6sdsxnnuttftj4bUhSCdp2y3y9 MTbmys//u+e2t0y9Dwiz360+2ixUJLmnrwhXtpRo= Received: from epsnrtp04.localdomain (unknown [182.195.42.156]) by epcas1p3.samsung.com (KnoxPortal) with ESMTPS id 20260821082851epcas1p3a1f71a5bfc261c55299bfd1144687a47~NxLo5Q-pG2419024190epcas1p3p; Fri, 21 Aug 2026 08:28:51 +0000 (GMT) Received: from epcas1p3.samsung.com (unknown [182.195.38.114]) by epsnrtp04.localdomain (Postfix) with ESMTP id 4hRD3l0B9Fz6B9mH; Fri, 21 Aug 2026 08:28:51 +0000 (GMT) Received: from epsmtip1.samsung.com (unknown [182.195.34.30]) by epcas1p4.samsung.com (KnoxPortal) with ESMTPA id 20260821082850epcas1p4c3e521eb2d2f637a01d024f02956b442~NxLn5wviM1133911339epcas1p40; Fri, 21 Aug 2026 08:28:50 +0000 (GMT) Received: from youngjingil03 (unknown [10.253.98.35]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20260821082850epsmtip1f83231c2d815fd5cb0a6fc3131b64c9c~NxLn2Q2at0184201842epsmtip1B; Fri, 21 Aug 2026 08:28:50 +0000 (GMT) From: "Yeongjin Gil" To: "'Daeho Jeong'" , "'Chao Yu'" In-Reply-To: Date: Fri, 21 Aug 2026 17:28:49 +0900 Message-ID: <001401dd3147$17b1f300$4715d900$@samsung.com> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQEvuJ6eLZKBOz9KHu5YGh+YwcMYSwLKjcABAhkCCecCpHaX0AE6qsM6AnCkI/e3qXnZ0A== Content-Language: ko X-CMS-MailID: 20260821082850epcas1p4c3e521eb2d2f637a01d024f02956b442 X-Msg-Generator: CA CMS-TYPE: 101P cpgsPolicy: CPGSC10-711,Y X-CFilter-Loop: Reflected X-CMS-RootMailID: 20260820161308epcas1p4a14d03c7418eb82241f42d668a0e3d45 References: <20260818171412.3201082-1-daeho43@gmail.com> <0e1162de-1ad4-4c24-a5c9-cd05c5b08cc0@kernel.org> <8c21e8cb-00ba-497b-94a8-55219e14653f@kernel.org> X-Headers-End: 1wxKcU-0003KF-Nn Subject: Re: [f2fs-dev] [PATCH] f2fs: accurately adjust free_sections during free_segment_range 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: , Cc: 'Daeho Jeong' , linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, kernel-team@android.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net PiBPbiBUaHUsIEF1ZyAyMCwgMjAyNiBhdCA2OjE54oCvQU0gQ2hhbyBZdSA8Y2hhb0BrZXJuZWwu b3JnPiB3cm90ZToNCj4gPg0KPiA+IE9uIDgvMjAvMjYgMDI6MjYsIERhZWhvIEplb25nIHdyb3Rl Og0KPiA+ID4gT24gVHVlLCBBdWcgMTgsIDIwMjYgYXQgODo1N+KAr1BNIENoYW8gWXUgPGNoYW9A a2VybmVsLm9yZz4gd3JvdGU6DQo+ID4gPj4NCj4gPiA+PiBPbiA4LzE5LzI2IDAxOjE0LCBEYWVo byBKZW9uZyB3cm90ZToNCj4gPiA+Pj4gRnJvbTogRGFlaG8gSmVvbmcgPGRhZWhvamVvbmdAZ29v Z2xlLmNvbT4NCj4gPiA+Pj4NCj4gPiA+Pj4gSW4gZnJlZV9zZWdtZW50X3JhbmdlKCksIE1BSU5f U0VDUyhzYmkpIGlzIHRlbXBvcmFyaWx5IHJlZHVjZWQgYnkNCj4gPiA+Pj4gYHNlY3NgIHdoaWxl IHZhbGlkIGJsb2NrcyBpbiB0aGUgdHJ1bmNhdGVkIHJhbmdlIGFyZSBldmFjdWF0ZWQgYnkgR0Mu DQo+ID4gPj4+DQo+ID4gPj4+IEhvd2V2ZXIsIGlmIGFueSBzZWN0aW9ucyB3aXRoaW4gdGhlIHRy dW5jYXRlZCByYW5nZSB3ZXJlIGFscmVhZHkNCj4gPiA+Pj4gZnJlZSwgZmFpbGluZyB0byBkZWR1 Y3QgdGhlbSBmcm9tIEZSRUVfSShzYmkpLT5mcmVlX3NlY3Rpb25zIGxlYWRzDQo+ID4gPj4+IHRv IGFuIG92ZXItZXN0aW1hdGlvbiBvZiBhdmFpbGFibGUgc3BhY2UgaW4gdGhlIHJlZHVjZWQgbWFp biBhcmVhLA0KPiA+ID4+PiBjYXVzaW5nIGluY29uc2lzdGVudCBmcmVlIHNlY3Rpb24gYWNjb3Vu dGluZy4NCj4gPiA+Pg0KPiA+ID4+IENhbiB5b3UgcGxlYXNlIHNob3cgbWUgYW4gZXhhbXBsZSBm b3IgYWJvdmUgY2FzZT8gSSBkaWRuJ3QgZ2V0IGl0Lg0KPiA+ID4NCj4gPiA+IEhlcmUgaXMgYSBj b25jcmV0ZSBleGFtcGxlIGV4cGxhaW5pbmcgd2h5IHRoaXMgYWRqdXN0bWVudCBpcyBuZWVkZWQ6 DQo+ID4NCj4gPiBUaGFua3MgZm9yIHRoZSBkZXRhaWxlZCBleHBsYW5hdGlvbi4NCj4gPg0KPiA+ ID4NCj4gPiA+IFN1cHBvc2U6DQo+ID4gPiAtIFRvdGFsIG1haW4gc2VjdGlvbnM6IE1BSU5fU0VD UyA9IDEwMCAoc2VjdGlvbnMgMCAuLiA5OSkNCj4gPiA+IC0gVG90YWwgZnJlZSBzZWN0aW9uczog ZnJlZV9zZWN0aW9ucyA9IDMwDQo+ID4gPiAtIFdlIHdhbnQgdG8gc2hyaW5rIHRoZSBmaWxlc3lz dGVtIGJ5IDEwIHNlY3Rpb25zIChzZWNzID0gMTAsIHJhbmdlDQo+IDkwIC4uIDk5KS4NCj4gPiA+ IC0gV2l0aGluIHRoZSB0cnVuY2F0ZWQgcmFuZ2UgKHNlY3Rpb25zIDkwIC4uIDk5KToNCj4gPiA+ ICAgICogNiBzZWN0aW9ucyBhcmUgYWxyZWFkeSBmcmVlIChmcmVlX3NlY21hcCBiaXQgaXMgMCkN Cj4gPiA+ICAgICogNCBzZWN0aW9ucyBhcmUgaW4tdXNlIHdpdGggdmFsaWQgYmxvY2tzIHRoYXQg bmVlZCB0byBiZSBtaWdyYXRlZA0KPiBieSBHQy4NCj4gPiA+IFdoZW4gZnJlZV9zZWdtZW50X3Jh bmdlKCkgZW50ZXJzOg0KPiA+ID4gMS4gTUFJTl9TRUNTIGlzIHRlbXBvcmFyaWx5IHJlZHVjZWQg ZnJvbSAxMDAgdG8gOTAgc28gdGhhdCBuZXcgYmxvY2sNCj4gPiA+ICAgICBhbGxvY2F0aW9ucyBh cmUgY29uc3RyYWluZWQgdG8gc2VjdGlvbnMgMCAuLiA4OS4NCj4gPiA+IDIuIFRoZSBhY3R1YWwg bnVtYmVyIG9mIGZyZWUgc2VjdGlvbnMgYXZhaWxhYmxlIGluIHRoZSByZWR1Y2VkIHJhbmdlDQo+ ID4gPiAgICAgKDAgLi4gODkpIGlzIG9ubHkgMjQgKDMwIC0gNiA9IDI0KS4NCj4gPiA+IDMuIFdp dGhvdXQgdGhpcyBwYXRjaDoNCj4gPiA+ICAgICAtIGZyZWVfc2VjdGlvbnMgcmVtYWlucyAzMCB3 aGlsZSBNQUlOX1NFQ1MgaXMgOTAuDQo+ID4gPiAgICAgLSBEdXJpbmcgdGhlIHN1YnNlcXVlbnQg R0MgbWlncmF0aW9ucywgZnJlZSBzZWN0aW9uIGNoZWNrcyAoc3VjaCBhcw0KPiA+ID4gICAgICAg aGFzX25vdF9lbm91Z2hfZnJlZV9zZWNzKCkpIHdpbGwgb3Zlci1lc3RpbWF0ZSBhdmFpbGFibGUg c3BhY2UNCj4gPiA+IGJ5IDYNCj4gPg0KPiA+IEJ1dCBmcmVlX3NlZ21lbnRfcmFuZ2UoKSB3b24n dCBjYWxsIGludG8gaGFzX25vdF9lbm91Z2hfZnJlZV9zZWNzKCksDQo+ID4gaWYgSSdtIG5vdCBt aXNzaW5nIGFueXRoaW5nLg0KPiANCj4gT2gsIHJpZ2h0LiBJIG1pc3NlZCBpdCdzIEZHX0dDLg0K PiBJIHRoaW5rIHdlIGNhbiBkcm9wIHRoaXMgcGF0Y2guDQo+IA0KPiBUaGFua3MuDQo+DQpJIHdv bmRlciBpZiB0aGUgZnJlZS1zZWN0aW9uIGFkanVzdG1lbnQgY291bGQgc3RpbGwgYmUgcmVsZXZh bnQNCnRvIHRoZSBTU1IvTEZTIGFsbG9jYXRpb24gZGVjaXNpb24gZHVyaW5nIHJlc2l6ZS4NCg0K Q291bGQgeW91IHBsZWFzZSBhbHNvIGNoZWNrIHdoZXRoZXIgZnJlZV9zZWN0aW9ucyBtYXkgYWZm ZWN0DQphbGxvY2F0aW9uIHRocm91Z2ggdGhlIGZvbGxvd2luZyBwYXRocz8NCg0KICBmcmVlX3Nl Z21lbnRfcmFuZ2UoKQ0KICAgIC0+IGYyZnNfYWxsb2NhdGVfc2VnbWVudF9mb3JfcmVzaXplKCkN CiAgICAgIC0+IGYyZnNfbmVlZF9TU1IoKQ0KICAgICAgLT4gbmV3X2N1cnNlZygpDQogICAgICAg IC0+IGdldF9uZXdfc2VnbWVudCgpDQoNCkFsc28sIHdoZW4gYSBjdXJyZW50IHNlZ21lbnQgYmVj b21lcyBmdWxsIGR1cmluZyBibG9jayBtaWdyYXRpb246DQoNCiAgZnJlZV9zZWdtZW50X3Jhbmdl KCkNCiAgICAtPiBmMmZzX2djX3JhbmdlKCkNCiAgICAgIC0+IGRvX2dhcmJhZ2VfY29sbGVjdCgp DQogICAgICAgIC0+IGYyZnNfYWxsb2NhdGVfZGF0YV9ibG9jaygpDQogICAgICAgICAgLT4gbmVl ZF9uZXdfc2VnKCkNCiAgICAgICAgICAgIC0+IGYyZnNfbmVlZF9TU1IoKQ0KICAgICAgICAgICAg LT4gbmV3X2N1cnNlZygpDQogICAgICAgICAgICAgIC0+IGdldF9uZXdfc2VnbWVudCgpDQoNCklm IGZyZWVfc2VjdGlvbnMgc3RpbGwgaW5jbHVkZSBmcmVlIHNlY3Rpb25zIGluIHRoZSByYW5nZSBi ZWluZw0KcmVtb3ZlZCwgZjJmc19uZWVkX1NTUigpIG1heSBjaG9vc2UgTEZTIGFsbG9jYXRpb24g aW5zdGVhZCBvZiBTU1IuDQpTaW5jZSBnZXRfbmV3X3NlZ21lbnQoKSBzZWFyY2hlcyBvbmx5IHdp dGhpbiB0aGUgdGVtcG9yYXJpbHkgcmVkdWNlZA0KTUFJTl9TRUNTIHJhbmdlLCBpdCBtYXkgZmFp bCB0byBmaW5kIGEgZnJlZSBzZWN0aW9uLg0KDQpDb3VsZCB5b3UgcGxlYXNlIGNvbmZpcm0gd2hl dGhlciB0aGlzIGNhc2UgYWxzbyBuZWVkcyB0byBiZSBoYW5kbGVkPw0KDQpUaGFua3MsDQo+ID4N Cj4gPiBOb3Qgc3VyZSwgbWF5YmUgeW91IG1lYW4gb3RoZXIgdGhyZWFkcyB3aWxsIGNhbGwNCj4g PiBoYXNfbm90X2Vub3VnaF9mcmVlX3NlY3MoKSwgYXJlIHlvdSB3b3JyaWVkIGFib3V0IHRoYXQg d2UgbWF5IG1pc3MNCj4gY2hhbmNlcyB0byBjYWxsIGZnZ2MgZWFybGllciBpbiBiZWxvdyBjYXNl czoNCj4gPg0KPiA+IGYyZnNfYmFsYW5jZV9mcyAtPiBoYXNfZW5vdWdoX2ZyZWVfc2VjcyAtPiBm MmZzX2djPyBJIGd1ZXNzIGl0IHdpbGwNCj4gPiBibG9ja2VkIG9uIGdjX2xvY2suDQo+IA0KPiA+ DQo+ID4gPiAgICAgICBzZWN0aW9ucyBpbiB0aGUgYWN0aXZlIDAgLi4gODkgcmFuZ2UuDQo+ID4g PiAgICAgLSBJZiBmcmVlX3NlZ21lbnRfcmFuZ2UoKSBmYWlscyBtaWR3YXkgKGUuZy4gLUVBR0FJ TiksDQo+IGZyZWVfc2VjdGlvbnMNCj4gPiA+ICAgICAgIGFjY291bnRpbmcgYmVjb21lcyBpbmNv bnNpc3RlbnQuDQo+ID4NCj4gPiBXaHkgZnJlZV9zZWN0aW9ucyBhY2NvdW50aW5nIGJlY29tZXMg aW5jb25zaXN0ZW50IGlmDQo+ID4gZnJlZV9zZWdtZW50X3JhbmdlKCkgZmFpbHMgbWlkd2F5Pw0K PiA+DQo+ID4gVGhhbmtzLA0KPiA+DQo+ID4gPiBXaXRoIHRoaXMgcGF0Y2g6DQo+ID4gPiAtIFdl IGNvdW50IHRoZSA2IGFscmVhZHktZnJlZSBzZWN0aW9ucyBpbiB0aGUgdHJ1bmNhdGVkIHJhbmdl ICg5MCAuLg0KPiA5OSkgYW5kDQo+ID4gPiAgICBkZWR1Y3QgdGhlbSBmcm9tIGZyZWVfc2VjdGlv bnMgdXBvbiBlbnRlcmluZyAoMzAgLSA2ID0gMjQpLA0KPiBwZXJmZWN0bHkNCj4gPiA+ICAgIG1h dGNoaW5nIHRoZSBhY3R1YWwgZnJlZSBzZWN0aW9ucyBpbiB0aGUgYWN0aXZlIHJhbmdlIDAgLi4g ODkuDQo+ID4gPiAtIE9uIGV4aXQsIHRoZSBkZWR1Y3RlZCBhbW91bnQgaXMgcmVzdG9yZWQsIGtl ZXBpbmcgZnJlZV9zZWN0aW9ucw0KPiBjb25zaXN0ZW50DQo+ID4gPiAgICB0aHJvdWdob3V0IHRo ZSBlbnRpcmUgcmVzaXplIGxpZmVjeWNsZS4NCj4gPiA+DQo+ID4gPiBIb3BlIHRoaXMgY2xhcmlm aWVzIHRoZSBzY2VuYXJpbyENCj4gPiA+DQo+ID4gPiBUaGFua3MsDQo+ID4gPg0KPiA+ID4+DQo+ ID4gPj4gQlRXLCBpdCBuZWVkcyB0byByZWJhc2UgdGhpcyBwYXRjaCBvbiBkZXYtdGVzdCBicmFu Y2guDQo+ID4gPj4NCj4gPiA+PiBUaGFua3MsDQo+ID4gPj4NCj4gPiA+Pj4NCj4gPiA+Pj4gRml4 IHRoaXMgYnkgY2FsY3VsYXRpbmcgdGhlIG51bWJlciBvZiBhbHJlYWR5LWZyZWUgc2VjdGlvbnMg aW4gdGhlDQo+ID4gPj4+IHRydW5jYXRlZCByYW5nZSB1bmRlciBzZWdtYXBfbG9jaywgZGVkdWN0 aW5nIHRoZW0gZnJvbQ0KPiA+ID4+PiBmcmVlX3NlY3Rpb25zIHVwb24gZW50ZXJpbmcgZnJlZV9z ZWdtZW50X3JhbmdlKCksIGFuZCByZXN0b3JpbmcgdGhlbQ0KPiB1bmRlciBzZWdtYXBfbG9jayBv biBleGl0Lg0KPiA+ID4+Pg0KPiA+ID4+PiBTaWduZWQtb2ZmLWJ5OiBEYWVobyBKZW9uZyA8ZGFl aG9qZW9uZ0Bnb29nbGUuY29tPg0KPiA+ID4+PiBTaWduZWQtb2ZmLWJ5OiBTdW5taW4gSmVvbmcg PHNfbWluLmplb25nQHNhbXN1bmcuY29tPg0KPiA+ID4+PiAtLS0NCj4gPiA+Pj4gICBmcy9mMmZz L2djLmMgfCAxNSArKysrKysrKysrKysrKy0NCj4gPiA+Pj4gICAxIGZpbGUgY2hhbmdlZCwgMTQg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiA+ID4+Pg0KPiA+ID4+PiBkaWZmIC0tZ2l0 IGEvZnMvZjJmcy9nYy5jIGIvZnMvZjJmcy9nYy5jIGluZGV4DQo+ID4gPj4+IDc4NzEzM2VlMmVi Mi4uZjNhNmZjNmQwOGFlIDEwMDY0NA0KPiA+ID4+PiAtLS0gYS9mcy9mMmZzL2djLmMNCj4gPiA+ Pj4gKysrIGIvZnMvZjJmcy9nYy5jDQo+ID4gPj4+IEBAIC0yMjAwLDggKzIyMDAsOSBAQCBpbnQg ZjJmc19nY19yYW5nZShzdHJ1Y3QgZjJmc19zYl9pbmZvICpzYmksDQo+ID4gPj4+ICAgc3RhdGlj IGludCBmcmVlX3NlZ21lbnRfcmFuZ2Uoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLA0KPiA+ID4+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHNlY3MsIGJvb2wg ZHJ5X3J1bikNCj4gPiA+Pj4gICB7DQo+ID4gPj4+IC0gICAgIHVuc2lnbmVkIGludCBuZXh0X2lu dXNlLCBzdGFydCwgZW5kOw0KPiA+ID4+PiArICAgICB1bnNpZ25lZCBpbnQgc2Vjbm8sIG5leHRf aW51c2UsIHN0YXJ0LCBlbmQsIGVuZF9zZWNubzsNCj4gPiA+Pj4gICAgICAgIHN0cnVjdCBjcF9j b250cm9sIGNwYyA9IHsgQ1BfUkVTSVpFLCAwLCAwLCAwIH07DQo+ID4gPj4+ICsgICAgIHVuc2ln bmVkIGludCBmcmVlZF9zZWNzID0gMDsNCj4gPiA+Pj4gICAgICAgIGludCBnY19tb2RlLCBnY190 eXBlOw0KPiA+ID4+PiAgICAgICAgaW50IGVyciA9IDA7DQo+ID4gPj4+ICAgICAgICBpbnQgdHlw ZTsNCj4gPiA+Pj4gQEAgLTIyMTAsNiArMjIxMSw3IEBAIHN0YXRpYyBpbnQgZnJlZV9zZWdtZW50 X3JhbmdlKHN0cnVjdA0KPiBmMmZzX3NiX2luZm8gKnNiaSwNCj4gPiA+Pj4gICAgICAgIE1BSU5f U0VDUyhzYmkpIC09IHNlY3M7DQo+ID4gPj4+ICAgICAgICBzdGFydCA9IE1BSU5fU0VDUyhzYmkp ICogU0VHU19QRVJfU0VDKHNiaSk7DQo+ID4gPj4+ICAgICAgICBlbmQgPSBNQUlOX1NFR1Moc2Jp KSAtIDE7DQo+ID4gPj4+ICsgICAgIGVuZF9zZWNubyA9IEdFVF9TRUNfRlJPTV9TRUcoc2JpLCBl bmQpOw0KPiA+ID4+Pg0KPiA+ID4+PiAgICAgICAgbXV0ZXhfbG9jaygmRElSVFlfSShzYmkpLT5z ZWdsaXN0X2xvY2spOw0KPiA+ID4+PiAgICAgICAgZm9yIChnY19tb2RlID0gMDsgZ2NfbW9kZSA8 IE1BWF9HQ19QT0xJQ1k7IGdjX21vZGUrKykgQEANCj4gPiA+Pj4gLTIyMjEsNiArMjIyMywxNCBA QCBzdGF0aWMgaW50IGZyZWVfc2VnbWVudF9yYW5nZShzdHJ1Y3QNCj4gZjJmc19zYl9pbmZvICpz YmksDQo+ID4gPj4+ICAgICAgICAgICAgICAgICAgICAgICAgc2JpLT5uZXh0X3ZpY3RpbV9zZWdb Z2NfdHlwZV0gPSBOVUxMX1NFR05POw0KPiA+ID4+PiAgICAgICAgbXV0ZXhfdW5sb2NrKCZESVJU WV9JKHNiaSktPnNlZ2xpc3RfbG9jayk7DQo+ID4gPj4+DQo+ID4gPj4+ICsgICAgIHNwaW5fbG9j aygmRlJFRV9JKHNiaSktPnNlZ21hcF9sb2NrKTsNCj4gPiA+Pj4gKyAgICAgZm9yIChzZWNubyA9 IE1BSU5fU0VDUyhzYmkpOyBzZWNubyA8PSBlbmRfc2Vjbm87IHNlY25vKyspIHsNCj4gPiA+Pj4g KyAgICAgICAgICAgICBpZiAoIXRlc3RfYml0KHNlY25vLCBGUkVFX0koc2JpKS0+ZnJlZV9zZWNt YXApKQ0KPiA+ID4+PiArICAgICAgICAgICAgICAgICAgICAgZnJlZWRfc2VjcysrOw0KPiA+ID4+ PiArICAgICB9DQo+ID4gPj4+ICsgICAgIEZSRUVfSShzYmkpLT5mcmVlX3NlY3Rpb25zIC09IGZy ZWVkX3NlY3M7DQo+ID4gPj4+ICsgICAgIHNwaW5fdW5sb2NrKCZGUkVFX0koc2JpKS0+c2VnbWFw X2xvY2spOw0KPiA+ID4+PiArDQo+ID4gPj4+ICAgICAgICAvKiBNb3ZlIG91dCBjdXJzZWdzIGZy b20gdGhlIHRhcmdldCByYW5nZSAqLw0KPiA+ID4+PiAgICAgICAgZm9yICh0eXBlID0gQ1VSU0VH X0hPVF9EQVRBOyB0eXBlIDwgTlJfQ1VSU0VHX1RZUEU7IHR5cGUrKykgew0KPiA+ID4+PiAgICAg ICAgICAgICAgICBlcnIgPSBmMmZzX2FsbG9jYXRlX3NlZ21lbnRfZm9yX3Jlc2l6ZShzYmksIHR5 cGUsDQo+ID4gPj4+IHN0YXJ0LCBlbmQpOyBAQCAtMjI0NSw2ICsyMjU1LDkgQEAgc3RhdGljIGlu dA0KPiBmcmVlX3NlZ21lbnRfcmFuZ2Uoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLA0KPiA+ID4+ PiAgICAgICAgICAgICAgICBmMmZzX2J1Z19vbihzYmksIDEpOw0KPiA+ID4+PiAgICAgICAgfQ0K PiA+ID4+PiAgIG91dDoNCj4gPiA+Pj4gKyAgICAgc3Bpbl9sb2NrKCZGUkVFX0koc2JpKS0+c2Vn bWFwX2xvY2spOw0KPiA+ID4+PiArICAgICBGUkVFX0koc2JpKS0+ZnJlZV9zZWN0aW9ucyArPSBm cmVlZF9zZWNzOw0KPiA+ID4+PiArICAgICBzcGluX3VubG9jaygmRlJFRV9JKHNiaSktPnNlZ21h cF9sb2NrKTsNCj4gPiA+Pj4gICAgICAgIE1BSU5fU0VDUyhzYmkpICs9IHNlY3M7DQo+ID4gPj4+ ICAgICAgICByZXR1cm4gZXJyOw0KPiA+ID4+PiAgIH0NCj4gPiA+Pg0KPiA+DQo+IA0KPiANCj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gTGludXgt ZjJmcy1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gTGludXgtZjJmcy1kZXZlbEBsaXN0cy5zb3VyY2Vm b3JnZS5uZXQNCj4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8v bGludXgtZjJmcy1kZXZlbA0KDQoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpMaW51eC1mMmZzLWRldmVsIG1haWxpbmcgbGlzdApMaW51eC1mMmZzLWRl dmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9s aXN0cy9saXN0aW5mby9saW51eC1mMmZzLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailout3.samsung.com (mailout3.samsung.com [203.254.224.33]) (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 97D0D39DBDB for ; Fri, 21 Aug 2026 08:29:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=203.254.224.33 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787300944; cv=none; b=eBqaYRLBS9Dhg2eUD/rXzo3yayhBs66CypKxphfYyY86pY5iJcpLLUem7plLDf9w739hcfsY6E/bSO1Yl5Y0kVSU5xJv9G10RFXW+H0ZltMgVBTTnBeYdrgdqZRjUEB2DWDNFsNsgMVb/93nibi3eM4d3rrLhm0bCEfLE6qORgc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787300944; c=relaxed/simple; bh=pQPoPH1SuhFjgQZFX4t7BlZVW4qbKx4CLm9iKLdtmUI=; h=From:To:Cc:In-Reply-To:Subject:Date:Message-ID:MIME-Version: Content-Type:References; b=pkuZeikRdNSlOao1lF8BxiUWBTuTjrq+O1hMegnRrAwBni1kgQ4Yulh+4G+X1ccd2/jWrYij5pU8I9OZaP1/SGcv8KokBZo3rCorp8LK1dsIU4RR4qgDiloC/NNooDMqbjt/8brbzRUjzNt9O2AKDEQcOCrTc51//OS5Pe8Wr2s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com; spf=pass smtp.mailfrom=samsung.com; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b=jx81fnpO; arc=none smtp.client-ip=203.254.224.33 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=samsung.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="jx81fnpO" Received: from epcas1p1.samsung.com (unknown [182.195.41.45]) by mailout3.samsung.com (KnoxPortal) with ESMTP id 20260821082851epoutp0341814793f6e7f8c7abfa64b1d86408b3~NxLpVb8Nc0078400784epoutp03p for ; Fri, 21 Aug 2026 08:28:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20260821082851epoutp0341814793f6e7f8c7abfa64b1d86408b3~NxLpVb8Nc0078400784epoutp03p DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1787300931; bh=pQPoPH1SuhFjgQZFX4t7BlZVW4qbKx4CLm9iKLdtmUI=; h=From:To:Cc:In-Reply-To:Subject:Date:References:From; b=jx81fnpO/V1yuvUfWXKzxCronfYbIq3QHOSlCPZF4xitEAiytfrtc6VV9shpLkOxi k9dO4H0MfqGTXOMXfI7G+VhY7Tt+vzHMzWo8Z4th6sdsxnnuttftj4bUhSCdp2y3y9 MTbmys//u+e2t0y9Dwiz360+2ixUJLmnrwhXtpRo= Received: from epsnrtp04.localdomain (unknown [182.195.42.156]) by epcas1p3.samsung.com (KnoxPortal) with ESMTPS id 20260821082851epcas1p3a1f71a5bfc261c55299bfd1144687a47~NxLo5Q-pG2419024190epcas1p3p; Fri, 21 Aug 2026 08:28:51 +0000 (GMT) Received: from epcas1p3.samsung.com (unknown [182.195.38.114]) by epsnrtp04.localdomain (Postfix) with ESMTP id 4hRD3l0B9Fz6B9mH; Fri, 21 Aug 2026 08:28:51 +0000 (GMT) Received: from epsmtip1.samsung.com (unknown [182.195.34.30]) by epcas1p4.samsung.com (KnoxPortal) with ESMTPA id 20260821082850epcas1p4c3e521eb2d2f637a01d024f02956b442~NxLn5wviM1133911339epcas1p40; Fri, 21 Aug 2026 08:28:50 +0000 (GMT) Received: from youngjingil03 (unknown [10.253.98.35]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20260821082850epsmtip1f83231c2d815fd5cb0a6fc3131b64c9c~NxLn2Q2at0184201842epsmtip1B; Fri, 21 Aug 2026 08:28:50 +0000 (GMT) From: "Yeongjin Gil" To: "'Daeho Jeong'" , "'Chao Yu'" Cc: "'Daeho Jeong'" , , , , "'Yeongjin Gil'" , =?UTF-8?B?J+ygleyEoOuvvCc=?= In-Reply-To: Subject: RE: [f2fs-dev] [PATCH] f2fs: accurately adjust free_sections during free_segment_range Date: Fri, 21 Aug 2026 17:28:49 +0900 Message-ID: <001401dd3147$17b1f300$4715d900$@samsung.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQEvuJ6eLZKBOz9KHu5YGh+YwcMYSwLKjcABAhkCCecCpHaX0AE6qsM6AnCkI/e3qXnZ0A== Content-Language: ko X-CMS-MailID: 20260821082850epcas1p4c3e521eb2d2f637a01d024f02956b442 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" CMS-TYPE: 101P cpgsPolicy: CPGSC10-711,Y X-CFilter-Loop: Reflected X-CMS-RootMailID: 20260820161308epcas1p4a14d03c7418eb82241f42d668a0e3d45 References: <20260818171412.3201082-1-daeho43@gmail.com> <0e1162de-1ad4-4c24-a5c9-cd05c5b08cc0@kernel.org> <8c21e8cb-00ba-497b-94a8-55219e14653f@kernel.org> > On Thu, Aug 20, 2026 at 6:19=E2=80=AFAM=20Chao=20Yu=20= =20wrote:=0D=0A>=20>=0D=0A>=20>=20On=208/20/26=2002:26,=20Daeho=20Jeong=20w= rote:=0D=0A>=20>=20>=20On=20Tue,=20Aug=2018,=202026=20at=208:57=E2=80=AFPM= =20Chao=20Yu=20=20wrote:=0D=0A>=20>=20>>=0D=0A>=20>=20>>= =20On=208/19/26=2001:14,=20Daeho=20Jeong=20wrote:=0D=0A>=20>=20>>>=20From:= =20Daeho=20Jeong=20=0D=0A>=20>=20>>>=0D=0A>=20>=20= >>>=20In=20free_segment_range(),=20MAIN_SECS(sbi)=20is=20temporarily=20redu= ced=20by=0D=0A>=20>=20>>>=20=60secs=60=20while=20valid=20blocks=20in=20the= =20truncated=20range=20are=20evacuated=20by=20GC.=0D=0A>=20>=20>>>=0D=0A>= =20>=20>>>=20However,=20if=20any=20sections=20within=20the=20truncated=20ra= nge=20were=20already=0D=0A>=20>=20>>>=20free,=20failing=20to=20deduct=20the= m=20from=20FREE_I(sbi)->free_sections=20leads=0D=0A>=20>=20>>>=20to=20an=20= over-estimation=20of=20available=20space=20in=20the=20reduced=20main=20area= ,=0D=0A>=20>=20>>>=20causing=20inconsistent=20free=20section=20accounting.= =0D=0A>=20>=20>>=0D=0A>=20>=20>>=20Can=20you=20please=20show=20me=20an=20ex= ample=20for=20above=20case?=20I=20didn't=20get=20it.=0D=0A>=20>=20>=0D=0A>= =20>=20>=20Here=20is=20a=20concrete=20example=20explaining=20why=20this=20a= djustment=20is=20needed:=0D=0A>=20>=0D=0A>=20>=20Thanks=20for=20the=20detai= led=20explanation.=0D=0A>=20>=0D=0A>=20>=20>=0D=0A>=20>=20>=20Suppose:=0D= =0A>=20>=20>=20-=20Total=20main=20sections:=20MAIN_SECS=20=3D=20100=20(sect= ions=200=20..=2099)=0D=0A>=20>=20>=20-=20Total=20free=20sections:=20free_se= ctions=20=3D=2030=0D=0A>=20>=20>=20-=20We=20want=20to=20shrink=20the=20file= system=20by=2010=20sections=20(secs=20=3D=2010,=20range=0D=0A>=2090=20..=20= 99).=0D=0A>=20>=20>=20-=20Within=20the=20truncated=20range=20(sections=2090= =20..=2099):=0D=0A>=20>=20>=20=20=20=20*=206=20sections=20are=20already=20f= ree=20(free_secmap=20bit=20is=200)=0D=0A>=20>=20>=20=20=20=20*=204=20sectio= ns=20are=20in-use=20with=20valid=20blocks=20that=20need=20to=20be=20migrate= d=0D=0A>=20by=20GC.=0D=0A>=20>=20>=20When=20free_segment_range()=20enters:= =0D=0A>=20>=20>=201.=20MAIN_SECS=20is=20temporarily=20reduced=20from=20100= =20to=2090=20so=20that=20new=20block=0D=0A>=20>=20>=20=20=20=20=20allocatio= ns=20are=20constrained=20to=20sections=200=20..=2089.=0D=0A>=20>=20>=202.= =20The=20actual=20number=20of=20free=20sections=20available=20in=20the=20re= duced=20range=0D=0A>=20>=20>=20=20=20=20=20(0=20..=2089)=20is=20only=2024= =20(30=20-=206=20=3D=2024).=0D=0A>=20>=20>=203.=20Without=20this=20patch:= =0D=0A>=20>=20>=20=20=20=20=20-=20free_sections=20remains=2030=20while=20MA= IN_SECS=20is=2090.=0D=0A>=20>=20>=20=20=20=20=20-=20During=20the=20subseque= nt=20GC=20migrations,=20free=20section=20checks=20(such=20as=0D=0A>=20>=20>= =20=20=20=20=20=20=20has_not_enough_free_secs())=20will=20over-estimate=20a= vailable=20space=0D=0A>=20>=20>=20by=206=0D=0A>=20>=0D=0A>=20>=20But=20free= _segment_range()=20won't=20call=20into=20has_not_enough_free_secs(),=0D=0A>= =20>=20if=20I'm=20not=20missing=20anything.=0D=0A>=20=0D=0A>=20Oh,=20right.= =20I=20missed=20it's=20FG_GC.=0D=0A>=20I=20think=20we=20can=20drop=20this= =20patch.=0D=0A>=20=0D=0A>=20Thanks.=0D=0A>=0D=0AI=20wonder=20if=20the=20fr= ee-section=20adjustment=20could=20still=20be=20relevant=0D=0Ato=20the=20SSR= /LFS=20allocation=20decision=20during=20resize.=0D=0A=0D=0ACould=20you=20pl= ease=20also=20check=20whether=20free_sections=20may=20affect=0D=0Aallocatio= n=20through=20the=20following=20paths?=0D=0A=0D=0A=20=20free_segment_range(= )=0D=0A=20=20=20=20->=20f2fs_allocate_segment_for_resize()=0D=0A=20=20=20= =20=20=20->=20f2fs_need_SSR()=0D=0A=20=20=20=20=20=20->=20new_curseg()=0D= =0A=20=20=20=20=20=20=20=20->=20get_new_segment()=0D=0A=0D=0AAlso,=20when= =20a=20current=20segment=20becomes=20full=20during=20block=20migration:=0D= =0A=0D=0A=20=20free_segment_range()=0D=0A=20=20=20=20->=20f2fs_gc_range()= =0D=0A=20=20=20=20=20=20->=20do_garbage_collect()=0D=0A=20=20=20=20=20=20= =20=20->=20f2fs_allocate_data_block()=0D=0A=20=20=20=20=20=20=20=20=20=20->= =20need_new_seg()=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20->=20f2fs_need_S= SR()=0D=0A=20=20=20=20=20=20=20=20=20=20=20=20->=20new_curseg()=0D=0A=20=20= =20=20=20=20=20=20=20=20=20=20=20=20->=20get_new_segment()=0D=0A=0D=0AIf=20= free_sections=20still=20include=20free=20sections=20in=20the=20range=20bein= g=0D=0Aremoved,=20f2fs_need_SSR()=20may=20choose=20LFS=20allocation=20inste= ad=20of=20SSR.=0D=0ASince=20get_new_segment()=20searches=20only=20within=20= the=20temporarily=20reduced=0D=0AMAIN_SECS=20range,=20it=20may=20fail=20to= =20find=20a=20free=20section.=0D=0A=0D=0ACould=20you=20please=20confirm=20w= hether=20this=20case=20also=20needs=20to=20be=20handled?=0D=0A=0D=0AThanks,= =0D=0A>=20>=0D=0A>=20>=20Not=20sure,=20maybe=20you=20mean=20other=20threads= =20will=20call=0D=0A>=20>=20has_not_enough_free_secs(),=20are=20you=20worri= ed=20about=20that=20we=20may=20miss=0D=0A>=20chances=20to=20call=20fggc=20e= arlier=20in=20below=20cases:=0D=0A>=20>=0D=0A>=20>=20f2fs_balance_fs=20->= =20has_enough_free_secs=20->=20f2fs_gc?=20I=20guess=20it=20will=0D=0A>=20>= =20blocked=20on=20gc_lock.=0D=0A>=20=0D=0A>=20>=0D=0A>=20>=20>=20=20=20=20= =20=20=20sections=20in=20the=20active=200=20..=2089=20range.=0D=0A>=20>=20>= =20=20=20=20=20-=20If=20free_segment_range()=20fails=20midway=20(e.g.=20-EA= GAIN),=0D=0A>=20free_sections=0D=0A>=20>=20>=20=20=20=20=20=20=20accounting= =20becomes=20inconsistent.=0D=0A>=20>=0D=0A>=20>=20Why=20free_sections=20ac= counting=20becomes=20inconsistent=20if=0D=0A>=20>=20free_segment_range()=20= fails=20midway?=0D=0A>=20>=0D=0A>=20>=20Thanks,=0D=0A>=20>=0D=0A>=20>=20>= =20With=20this=20patch:=0D=0A>=20>=20>=20-=20We=20count=20the=206=20already= -free=20sections=20in=20the=20truncated=20range=20(90=20..=0D=0A>=2099)=20a= nd=0D=0A>=20>=20>=20=20=20=20deduct=20them=20from=20free_sections=20upon=20= entering=20(30=20-=206=20=3D=2024),=0D=0A>=20perfectly=0D=0A>=20>=20>=20=20= =20=20matching=20the=20actual=20free=20sections=20in=20the=20active=20range= =200=20..=2089.=0D=0A>=20>=20>=20-=20On=20exit,=20the=20deducted=20amount= =20is=20restored,=20keeping=20free_sections=0D=0A>=20consistent=0D=0A>=20>= =20>=20=20=20=20throughout=20the=20entire=20resize=20lifecycle.=0D=0A>=20>= =20>=0D=0A>=20>=20>=20Hope=20this=20clarifies=20the=20scenario=21=0D=0A>=20= >=20>=0D=0A>=20>=20>=20Thanks,=0D=0A>=20>=20>=0D=0A>=20>=20>>=0D=0A>=20>=20= >>=20BTW,=20it=20needs=20to=20rebase=20this=20patch=20on=20dev-test=20branc= h.=0D=0A>=20>=20>>=0D=0A>=20>=20>>=20Thanks,=0D=0A>=20>=20>>=0D=0A>=20>=20>= >>=0D=0A>=20>=20>>>=20Fix=20this=20by=20calculating=20the=20number=20of=20a= lready-free=20sections=20in=20the=0D=0A>=20>=20>>>=20truncated=20range=20un= der=20segmap_lock,=20deducting=20them=20from=0D=0A>=20>=20>>>=20free_sectio= ns=20upon=20entering=20free_segment_range(),=20and=20restoring=20them=0D=0A= >=20under=20segmap_lock=20on=20exit.=0D=0A>=20>=20>>>=0D=0A>=20>=20>>>=20Si= gned-off-by:=20Daeho=20Jeong=20=0D=0A>=20>=20>>>= =20Signed-off-by:=20Sunmin=20Jeong=20=0D=0A>=20>= =20>>>=20---=0D=0A>=20>=20>>>=20=20=20fs/f2fs/gc.c=20=7C=2015=20+++++++++++= +++-=0D=0A>=20>=20>>>=20=20=201=20file=20changed,=2014=20insertions(+),=201= =20deletion(-)=0D=0A>=20>=20>>>=0D=0A>=20>=20>>>=20diff=20--git=20a/fs/f2fs= /gc.c=20b/fs/f2fs/gc.c=20index=0D=0A>=20>=20>>>=20787133ee2eb2..f3a6fc6d08a= e=20100644=0D=0A>=20>=20>>>=20---=20a/fs/f2fs/gc.c=0D=0A>=20>=20>>>=20+++= =20b/fs/f2fs/gc.c=0D=0A>=20>=20>>>=20=40=40=20-2200,8=20+2200,9=20=40=40=20= int=20f2fs_gc_range(struct=20f2fs_sb_info=20*sbi,=0D=0A>=20>=20>>>=20=20=20= static=20int=20free_segment_range(struct=20f2fs_sb_info=20*sbi,=0D=0A>=20>= =20>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20unsigned=20int=20secs,=20bool=20dry_run)=0D=0A>= =20>=20>>>=20=20=20=7B=0D=0A>=20>=20>>>=20-=20=20=20=20=20unsigned=20int=20= next_inuse,=20start,=20end;=0D=0A>=20>=20>>>=20+=20=20=20=20=20unsigned=20i= nt=20secno,=20next_inuse,=20start,=20end,=20end_secno;=0D=0A>=20>=20>>>=20= =20=20=20=20=20=20=20struct=20cp_control=20cpc=20=3D=20=7B=20CP_RESIZE,=200= ,=200,=200=20=7D;=0D=0A>=20>=20>>>=20+=20=20=20=20=20unsigned=20int=20freed= _secs=20=3D=200;=0D=0A>=20>=20>>>=20=20=20=20=20=20=20=20int=20gc_mode,=20g= c_type;=0D=0A>=20>=20>>>=20=20=20=20=20=20=20=20int=20err=20=3D=200;=0D=0A>= =20>=20>>>=20=20=20=20=20=20=20=20int=20type;=0D=0A>=20>=20>>>=20=40=40=20-= 2210,6=20+2211,7=20=40=40=20static=20int=20free_segment_range(struct=0D=0A>= =20f2fs_sb_info=20*sbi,=0D=0A>=20>=20>>>=20=20=20=20=20=20=20=20MAIN_SECS(s= bi)=20-=3D=20secs;=0D=0A>=20>=20>>>=20=20=20=20=20=20=20=20start=20=3D=20MA= IN_SECS(sbi)=20*=20SEGS_PER_SEC(sbi);=0D=0A>=20>=20>>>=20=20=20=20=20=20=20= =20end=20=3D=20MAIN_SEGS(sbi)=20-=201;=0D=0A>=20>=20>>>=20+=20=20=20=20=20e= nd_secno=20=3D=20GET_SEC_FROM_SEG(sbi,=20end);=0D=0A>=20>=20>>>=0D=0A>=20>= =20>>>=20=20=20=20=20=20=20=20mutex_lock(&DIRTY_I(sbi)->seglist_lock);=0D= =0A>=20>=20>>>=20=20=20=20=20=20=20=20for=20(gc_mode=20=3D=200;=20gc_mode= =20<=20MAX_GC_POLICY;=20gc_mode++)=20=40=40=0D=0A>=20>=20>>>=20-2221,6=20+2= 223,14=20=40=40=20static=20int=20free_segment_range(struct=0D=0A>=20f2fs_sb= _info=20*sbi,=0D=0A>=20>=20>>>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20sbi->next_victim_seg=5Bgc_type=5D=20=3D=20NULL_S= EGNO;=0D=0A>=20>=20>>>=20=20=20=20=20=20=20=20mutex_unlock(&DIRTY_I(sbi)->s= eglist_lock);=0D=0A>=20>=20>>>=0D=0A>=20>=20>>>=20+=20=20=20=20=20spin_lock= (&FREE_I(sbi)->segmap_lock);=0D=0A>=20>=20>>>=20+=20=20=20=20=20for=20(secn= o=20=3D=20MAIN_SECS(sbi);=20secno=20<=3D=20end_secno;=20secno++)=20=7B=0D= =0A>=20>=20>>>=20+=20=20=20=20=20=20=20=20=20=20=20=20=20if=20(=21test_bit(= secno,=20FREE_I(sbi)->free_secmap))=0D=0A>=20>=20>>>=20+=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20freed_secs++;=0D=0A>=20>=20>>>= =20+=20=20=20=20=20=7D=0D=0A>=20>=20>>>=20+=20=20=20=20=20FREE_I(sbi)->free= _sections=20-=3D=20freed_secs;=0D=0A>=20>=20>>>=20+=20=20=20=20=20spin_unlo= ck(&FREE_I(sbi)->segmap_lock);=0D=0A>=20>=20>>>=20+=0D=0A>=20>=20>>>=20=20= =20=20=20=20=20=20/*=20Move=20out=20cursegs=20from=20the=20target=20range= =20*/=0D=0A>=20>=20>>>=20=20=20=20=20=20=20=20for=20(type=20=3D=20CURSEG_HO= T_DATA;=20type=20<=20NR_CURSEG_TYPE;=20type++)=20=7B=0D=0A>=20>=20>>>=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20err=20=3D=20f2fs_allocate_segment= _for_resize(sbi,=20type,=0D=0A>=20>=20>>>=20start,=20end);=20=40=40=20-2245= ,6=20+2255,9=20=40=40=20static=20int=0D=0A>=20free_segment_range(struct=20f= 2fs_sb_info=20*sbi,=0D=0A>=20>=20>>>=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20f2fs_bug_on(sbi,=201);=0D=0A>=20>=20>>>=20=20=20=20=20=20=20=20=7D= =0D=0A>=20>=20>>>=20=20=20out:=0D=0A>=20>=20>>>=20+=20=20=20=20=20spin_lock= (&FREE_I(sbi)->segmap_lock);=0D=0A>=20>=20>>>=20+=20=20=20=20=20FREE_I(sbi)= ->free_sections=20+=3D=20freed_secs;=0D=0A>=20>=20>>>=20+=20=20=20=20=20spi= n_unlock(&FREE_I(sbi)->segmap_lock);=0D=0A>=20>=20>>>=20=20=20=20=20=20=20= =20MAIN_SECS(sbi)=20+=3D=20secs;=0D=0A>=20>=20>>>=20=20=20=20=20=20=20=20re= turn=20err;=0D=0A>=20>=20>>>=20=20=20=7D=0D=0A>=20>=20>>=0D=0A>=20>=0D=0A>= =20=0D=0A>=20=0D=0A>=20_______________________________________________=0D= =0A>=20Linux-f2fs-devel=20mailing=20list=0D=0A>=20Linux-f2fs-devel=40lists.= sourceforge.net=0D=0A>=20https://lists.sourceforge.net/lists/listinfo/linux= -f2fs-devel=0D=0A=0D=0A