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 A224CC5AD49 for ; Wed, 28 May 2025 16:12:52 +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=pjJ1rKd3y8+JlMuOHiBwBVloVRP8GAlVC17fTYS9Hjk=; b=OspmdwmzCdtfNkH6kM52BM+X3c BXgqM5T+8NK/BvR191+UuOq6zwxV8Cek+dVpKFl3EyfXhCJvGbz3KllJDeq5CgV6qK1BiOdnzTODf zucijAEj+/dcdfOxKeqUCwyvv4qvVeQ/AYFXwvvx+JjsyCwPyyA10VVSVVTXY36xwcLU=; 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 1uKJOd-0002wJ-CP; Wed, 28 May 2025 16:12:51 +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 1uKJOb-0002wA-E6 for linux-f2fs-devel@lists.sourceforge.net; Wed, 28 May 2025 16:12:49 +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=rJV8SOZ7bX+nzzEbRD8Qw8yl1SNHbJfBVU7JImmQU6A=; b=A9d6DfhUYZQ1aLERBQs4tNJTe6 ZTVQbQzMEwdnHC27B7riVHd+z71vbyrwXypiFwvtMoMD2uE/sYUerl+fgVGXJAyOPIy6vLzb4MIhy e9WepAVyCZHcVhTT7peOfIjZB1nrE3W+hoXWkpKAcqXyFTLTfo3PvoNz87TSKmCGWjRM=; 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=rJV8SOZ7bX+nzzEbRD8Qw8yl1SNHbJfBVU7JImmQU6A=; b=VRbV2mmDsIWvYcvn5S3nMxnXDH lio6hcZctU0D9cKZyX0+lIjKgzIvJYAPLzRuvzRwn2dfb64fD3K0WoDA1Sw7tKT8TKLd8sesdkQs3 iUiiSvSYZGhcibTXB++KPM1EAAlgrdOfqDIfmyKT/rXj/ANQR27m7VpzEwdJyS43cTT8=; Received: from tor.source.kernel.org ([172.105.4.254]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1uKJOb-000374-6z for linux-f2fs-devel@lists.sourceforge.net; Wed, 28 May 2025 16:12:49 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 4E72D61F1B for ; Wed, 28 May 2025 16:12:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C9622C4CEE3; Wed, 28 May 2025 16:12:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1748448758; bh=dwuxk90UKREmy9WgLcJOSq1Ev+FSaeKaXWlk1jnBAls=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=cV6HiJGSgJWKc6X8/f6OPyR3AQArSISL2a1aSf4TDDk6Cjv0TprJSnqX45NeISZps FkbZJsX1iS0bFzgmTrsP0beywFgRt5gjjQMGTkaTyzrJSXHDS9BtCp21BCP2Ut2M38 cdDQMCrkL108fntO3JlyqLHjbMu+9XNhZs0Wsaprn6EdBNXsb1tfsVhu6ULNESDvuT SSU/45V3SwslFvtxyC4Y0Aruttcgn2K9EjcRd2Yetg5VxBexiSfjujQgrjwt6feAwv 7qI6d41xWspDDMZoXQGQTusupOrUKwX1qozswqtPaMV9OUyGQL6rnOcIR9ju1LO2hO 0APbF0D/9Xo1g== Date: Wed, 28 May 2025 16:12:36 +0000 To: Chao Yu Message-ID: References: <20250521062403.742048-1-chao@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20250521062403.742048-1-chao@kernel.org> X-Headers-End: 1uKJOb-000374-6z Subject: Re: [f2fs-dev] [PATCH] f2fs: fix to zero post-eof page 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: Jaegeuk Kim via Linux-f2fs-devel Reply-To: Jaegeuk Kim Cc: stable@kernel.org, linux-kernel@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 Q2hhbywKCkNhbiB3ZSBhZGQgdGhlIHNpbWlsYXIgcGF0aCB0aGF0IG90aGVyIGZpbGVzeXN0ZW1z IGhhdmU/CgpPbiAwNS8yMSwgQ2hhbyBZdSB3cm90ZToKPiBmc3Rlc3QgcmVwb3J0cyBhIGYyZnMg YnVnOgo+IAo+IGdlbmVyaWMvMzYzIDQycyAuLi4gW2ZhaWxlZCwgZXhpdCBzdGF0dXMgMV0tIG91 dHB1dCBtaXNtYXRjaCAoc2VlIC9zaGFyZS9naXQvZnN0ZXN0cy9yZXN1bHRzLy9nZW5lcmljLzM2 My5vdXQuYmFkKQo+ICAgICAtLS0gdGVzdHMvZ2VuZXJpYy8zNjMub3V0ICAgMjAyNS0wMS0xMiAy MTo1Nzo0MC4yNzE0NDA1NDIgKzA4MDAKPiAgICAgKysrIC9zaGFyZS9naXQvZnN0ZXN0cy9yZXN1 bHRzLy9nZW5lcmljLzM2My5vdXQuYmFkIDIwMjUtMDUtMTkgMTk6NTU6NTguMDAwMDAwMDAwICsw ODAwCj4gICAgIEBAIC0xLDIgKzEsNzggQEAKPiAgICAgIFFBIG91dHB1dCBjcmVhdGVkIGJ5IDM2 Mwo+ICAgICAgZnN4IC1xIC1TIDAgLWUgMSAtTiAxMDAwMDAKPiAgICAgK1JFQUQgQkFEIERBVEE6 IG9mZnNldCA9IDB4ZDZmYiwgc2l6ZSA9IDB4ZjA0NCwgZm5hbWUgPSAvbW50L2YyZnMvanVuawo+ ICAgICArT0ZGU0VUICAgICAgR09PRCAgICBCQUQgICAgIFJBTkdFCj4gICAgICsweDE1NDBkICAg ICAweDAwMDAgIDB4MmEyNSAgMHgwCj4gICAgICtvcGVyYXRpb24jIChtb2QgMjU2KSBmb3IgdGhl IGJhZCBkYXRhIG1heSBiZSAzNwo+ICAgICArMHgxNTQwZSAgICAgMHgwMDAwICAweDI1MjcgIDB4 MQo+ICAgICAuLi4KPiAgICAgKFJ1biAnZGlmZiAtdSAvc2hhcmUvZ2l0L2ZzdGVzdHMvdGVzdHMv Z2VuZXJpYy8zNjMub3V0IC9zaGFyZS9naXQvZnN0ZXN0cy9yZXN1bHRzLy9nZW5lcmljLzM2My5v dXQuYmFkJyAgdG8gc2VlIHRoZSBlbnRpcmUgZGlmZikKPiBSYW46IGdlbmVyaWMvMzYzCj4gRmFp bHVyZXM6IGdlbmVyaWMvMzYzCj4gRmFpbGVkIDEgb2YgMSB0ZXN0cwo+IAo+IFRoZSByb290IGNh dXNlIGlzIHVzZXIgY2FuIHVwZGF0ZSBwb3N0LWVvZiBwYWdlIHZpYSBtbWFwLCBob3dldmVyLCBm MmZzIG1pc3NlZAo+IHRvIHplcm8gcG9zdC1lb2YgcGFnZSBpbiBiZWxvdyBvcGVyYXRpb25zLCBz bywgb25jZSBpdCBleHBhbmRzIGlfc2l6ZSwgdGhlbiBpdAo+IHdpbGwgaW5jbHVkZSBkdW1teSBk YXRhIGxvY2F0ZXMgcHJldmlvdXMgcG9zdC1lb2YgcGFnZSwgc28gZHVyaW5nIGJlbG93Cj4gb3Bl cmF0aW9ucywgd2UgbmVlZCB0byB6ZXJvIHBvc3QtZW9mIHBhZ2UuCj4gCj4gT3BlcmF0aW9ucyB3 aGljaCBjYW4gaW5jbHVkZSBkdW1teSBkYXRhIGFmdGVyIHByZXZpb3VzIGlfc2l6ZSBhZnRlciBl eHBhbmRpbmcKPiBpX3NpemU6Cj4gLSB3cml0ZQo+IC0gbWFwd3JpdGUKPiAtIHRydW5jYXRlCj4g LSBmYWxsb2NhdGUKPiAgKiBwcmVhbGxvY2F0ZQo+ICAqIHplcm9fcmFuZ2UKPiAgKiBpbnNlcnRf cmFuZ2UKPiAgKiBjb2xsYXBzZV9yYW5nZQo+IC0gY2xvbmVfcmFuZ2UgKGRvZXNu4oCZdCBzdXBw b3J0IGluIGYyZnMpCj4gLSBjb3B5X3JhbmdlIChkb2VzbuKAmXQgc3VwcG9ydCBpbiBmMmZzKQo+ IAo+IENjOiBzdGFibGVAa2VybmVsLm9yZwo+IFNpZ25lZC1vZmYtYnk6IENoYW8gWXUgPGNoYW9A a2VybmVsLm9yZz4KPiAtLS0KPiAgZnMvZjJmcy9maWxlLmMgfCAyOCArKysrKysrKysrKysrKysr KysrKysrKysrKysrCj4gIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspCj4gCj4gZGlm ZiAtLWdpdCBhL2ZzL2YyZnMvZmlsZS5jIGIvZnMvZjJmcy9maWxlLmMKPiBpbmRleCA2YmQzZGU2 NGYyYTguLmM3YzY2ZTU5MWViYyAxMDA2NDQKPiAtLS0gYS9mcy9mMmZzL2ZpbGUuYwo+ICsrKyBi L2ZzL2YyZnMvZmlsZS5jCj4gQEAgLTM1LDYgKzM1LDE3IEBACj4gICNpbmNsdWRlIDx0cmFjZS9l dmVudHMvZjJmcy5oPgo+ICAjaW5jbHVkZSA8dWFwaS9saW51eC9mMmZzLmg+Cj4gIAo+ICtzdGF0 aWMgdm9pZCBmMmZzX3plcm9fcG9zdF9lb2ZfcGFnZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBsb2Zm X3QgbmV3X3NpemUpCj4gK3sKPiArCWxvZmZfdCBvbGRfc2l6ZSA9IGlfc2l6ZV9yZWFkKGlub2Rl KTsKPiArCj4gKwlpZiAob2xkX3NpemUgPiBuZXdfc2l6ZSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJ LyogemVybyBvciBkcm9wIHBhZ2VzIG9ubHkgaW4gcmFuZ2Ugb2YgW29sZF9zaXplLCBuZXdfc2l6 ZV0gKi8KPiArCXRydW5jYXRlX3BhZ2VjYWNoZShpbm9kZSwgb2xkX3NpemUpOwo+ICt9Cj4gKwo+ ICBzdGF0aWMgdm1fZmF1bHRfdCBmMmZzX2ZpbGVtYXBfZmF1bHQoc3RydWN0IHZtX2ZhdWx0ICp2 bWYpCj4gIHsKPiAgCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlX2lub2RlKHZtZi0+dm1hLT52 bV9maWxlKTsKPiBAQCAtMTA1LDYgKzExNiw5IEBAIHN0YXRpYyB2bV9mYXVsdF90IGYyZnNfdm1f cGFnZV9ta3dyaXRlKHN0cnVjdCB2bV9mYXVsdCAqdm1mKQo+ICAKPiAgCWZpbGVfdXBkYXRlX3Rp bWUodm1mLT52bWEtPnZtX2ZpbGUpOwo+ICAJZmlsZW1hcF9pbnZhbGlkYXRlX2xvY2tfc2hhcmVk KGlub2RlLT5pX21hcHBpbmcpOwo+ICsKPiArCWYyZnNfemVyb19wb3N0X2VvZl9wYWdlKGlub2Rl LCAoZm9saW8tPmluZGV4ICsgMSkgPDwgUEFHRV9TSElGVCk7Cj4gKwo+ICAJZm9saW9fbG9jayhm b2xpbyk7Cj4gIAlpZiAodW5saWtlbHkoZm9saW8tPm1hcHBpbmcgIT0gaW5vZGUtPmlfbWFwcGlu ZyB8fAo+ICAJCQlmb2xpb19wb3MoZm9saW8pID4gaV9zaXplX3JlYWQoaW5vZGUpIHx8Cj4gQEAg LTExMDksNiArMTEyMyw4IEBAIGludCBmMmZzX3NldGF0dHIoc3RydWN0IG1udF9pZG1hcCAqaWRt YXAsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwKPiAgCQlmMmZzX2Rvd25fd3JpdGUoJmZpLT5pX2dj X3J3c2VtW1dSSVRFXSk7Cj4gIAkJZmlsZW1hcF9pbnZhbGlkYXRlX2xvY2soaW5vZGUtPmlfbWFw cGluZyk7Cj4gIAo+ICsJCWlmIChhdHRyLT5pYV9zaXplID4gb2xkX3NpemUpCj4gKwkJCWYyZnNf emVyb19wb3N0X2VvZl9wYWdlKGlub2RlLCBvbGRfc2l6ZSk7Cj4gIAkJdHJ1bmNhdGVfc2V0c2l6 ZShpbm9kZSwgYXR0ci0+aWFfc2l6ZSk7Cj4gIAo+ICAJCWlmIChhdHRyLT5pYV9zaXplIDw9IG9s ZF9zaXplKQo+IEBAIC0xMjI3LDYgKzEyNDMsOCBAQCBzdGF0aWMgaW50IGYyZnNfcHVuY2hfaG9s ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBsb2ZmX3Qgb2Zmc2V0LCBsb2ZmX3QgbGVuKQo+ICAJaWYg KHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiArCWYyZnNfemVyb19wb3N0X2VvZl9wYWdlKGlu b2RlLCBvZmZzZXQgKyBsZW4pOwo+ICsKPiAgCXBnX3N0YXJ0ID0gKCh1bnNpZ25lZCBsb25nIGxv bmcpIG9mZnNldCkgPj4gUEFHRV9TSElGVDsKPiAgCXBnX2VuZCA9ICgodW5zaWduZWQgbG9uZyBs b25nKSBvZmZzZXQgKyBsZW4pID4+IFBBR0VfU0hJRlQ7Cj4gIAo+IEBAIC0xNTQyLDYgKzE1NjAs OCBAQCBzdGF0aWMgaW50IGYyZnNfY29sbGFwc2VfcmFuZ2Uoc3RydWN0IGlub2RlICppbm9kZSwg bG9mZl90IG9mZnNldCwgbG9mZl90IGxlbikKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsK PiAgCj4gKwlmMmZzX3plcm9fcG9zdF9lb2ZfcGFnZShpbm9kZSwgb2Zmc2V0ICsgbGVuKTsKPiAr Cj4gIAlyZXQgPSBmMmZzX2RvX2NvbGxhcHNlKGlub2RlLCBvZmZzZXQsIGxlbik7Cj4gIAlpZiAo cmV0KQo+ICAJCXJldHVybiByZXQ7Cj4gQEAgLTE2MzEsNiArMTY1MSw4IEBAIHN0YXRpYyBpbnQg ZjJmc196ZXJvX3JhbmdlKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGxvZmZfdCBvZmZzZXQsIGxvZmZf dCBsZW4sCj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiByZXQ7Cj4gIAo+ICsJZjJmc196ZXJvX3Bv c3RfZW9mX3BhZ2UoaW5vZGUsIG9mZnNldCArIGxlbik7Cj4gKwo+ICAJcGdfc3RhcnQgPSAoKHVu c2lnbmVkIGxvbmcgbG9uZykgb2Zmc2V0KSA+PiBQQUdFX1NISUZUOwo+ICAJcGdfZW5kID0gKCh1 bnNpZ25lZCBsb25nIGxvbmcpIG9mZnNldCArIGxlbikgPj4gUEFHRV9TSElGVDsKPiAgCj4gQEAg LTE3NTQsNiArMTc3Niw4IEBAIHN0YXRpYyBpbnQgZjJmc19pbnNlcnRfcmFuZ2Uoc3RydWN0IGlu b2RlICppbm9kZSwgbG9mZl90IG9mZnNldCwgbG9mZl90IGxlbikKPiAgCWlmIChyZXQpCj4gIAkJ cmV0dXJuIHJldDsKPiAgCj4gKwlmMmZzX3plcm9fcG9zdF9lb2ZfcGFnZShpbm9kZSwgb2Zmc2V0 ICsgbGVuKTsKPiArCj4gIAlwZ19zdGFydCA9IG9mZnNldCA+PiBQQUdFX1NISUZUOwo+ICAJcGdf ZW5kID0gKG9mZnNldCArIGxlbikgPj4gUEFHRV9TSElGVDsKPiAgCWRlbHRhID0gcGdfZW5kIC0g cGdfc3RhcnQ7Cj4gQEAgLTE4MTksNiArMTg0Myw4IEBAIHN0YXRpYyBpbnQgZjJmc19leHBhbmRf aW5vZGVfZGF0YShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBsb2ZmX3Qgb2Zmc2V0LAo+ICAJaWYgKGVy cikKPiAgCQlyZXR1cm4gZXJyOwo+ICAKPiArCWYyZnNfemVyb19wb3N0X2VvZl9wYWdlKGlub2Rl LCBvZmZzZXQgKyBsZW4pOwo+ICsKPiAgCWYyZnNfYmFsYW5jZV9mcyhzYmksIHRydWUpOwo+ICAK PiAgCXBnX3N0YXJ0ID0gKCh1bnNpZ25lZCBsb25nIGxvbmcpb2Zmc2V0KSA+PiBQQUdFX1NISUZU Owo+IEBAIC00ODYwLDYgKzQ4ODYsOCBAQCBzdGF0aWMgc3NpemVfdCBmMmZzX3dyaXRlX2NoZWNr cyhzdHJ1Y3Qga2lvY2IgKmlvY2IsIHN0cnVjdCBpb3ZfaXRlciAqZnJvbSkKPiAgCWVyciA9IGZp bGVfbW9kaWZpZWQoZmlsZSk7Cj4gIAlpZiAoZXJyKQo+ICAJCXJldHVybiBlcnI7Cj4gKwo+ICsJ ZjJmc196ZXJvX3Bvc3RfZW9mX3BhZ2UoaW5vZGUsIGlvY2ItPmtpX3BvcyArIGlvdl9pdGVyX2Nv dW50KGZyb20pKTsKPiAgCXJldHVybiBjb3VudDsKPiAgfQo+ICAKPiAtLSAKPiAyLjQ5LjAKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1mMmZz LWRldmVsIG1haWxpbmcgbGlzdApMaW51eC1mMmZzLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5l dApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9saW51eC1mMmZz LWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 902A928315B for ; Wed, 28 May 2025 16:12:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748448758; cv=none; b=Xj1XizL5rFeS/W1QQxWczwHELJAwpjJ6j8JhFPt2+sSiBWyM98ApG3z7fN+29CwsCdknAUdBbRITqQcRzpKNHS8y93cjfuKGTUC8k4uv+7WltYogCiyqpIHfuRr5fPRhA5IX36KEyf6CPmUKvLeMeJvUtSJm2o+/ZHm36FGJfec= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748448758; c=relaxed/simple; bh=dwuxk90UKREmy9WgLcJOSq1Ev+FSaeKaXWlk1jnBAls=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=mnTH92CINS41aI/XcKfxrNcwByuAwNskuq5N2JQlD4DuY3GqM+g0bksno3SA20n3+ZDWjdUJSGCVtMKUOGF1QYNrMz8MKycT/1+wq5fk7wqiy3t1OyCwCDRAaH5eX2yHzkkO9TL70+chnaSDi5QtEFoCA9o0SXLT5RWEoj7M2s4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=cV6HiJGS; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="cV6HiJGS" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C9622C4CEE3; Wed, 28 May 2025 16:12:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1748448758; bh=dwuxk90UKREmy9WgLcJOSq1Ev+FSaeKaXWlk1jnBAls=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=cV6HiJGSgJWKc6X8/f6OPyR3AQArSISL2a1aSf4TDDk6Cjv0TprJSnqX45NeISZps FkbZJsX1iS0bFzgmTrsP0beywFgRt5gjjQMGTkaTyzrJSXHDS9BtCp21BCP2Ut2M38 cdDQMCrkL108fntO3JlyqLHjbMu+9XNhZs0Wsaprn6EdBNXsb1tfsVhu6ULNESDvuT SSU/45V3SwslFvtxyC4Y0Aruttcgn2K9EjcRd2Yetg5VxBexiSfjujQgrjwt6feAwv 7qI6d41xWspDDMZoXQGQTusupOrUKwX1qozswqtPaMV9OUyGQL6rnOcIR9ju1LO2hO 0APbF0D/9Xo1g== Date: Wed, 28 May 2025 16:12:36 +0000 From: Jaegeuk Kim To: Chao Yu Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org, stable@kernel.org Subject: Re: [PATCH] f2fs: fix to zero post-eof page Message-ID: References: <20250521062403.742048-1-chao@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@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: <20250521062403.742048-1-chao@kernel.org> Chao, Can we add the similar path that other filesystems have? On 05/21, Chao Yu wrote: > fstest reports a f2fs bug: > > generic/363 42s ... [failed, exit status 1]- output mismatch (see /share/git/fstests/results//generic/363.out.bad) > --- tests/generic/363.out 2025-01-12 21:57:40.271440542 +0800 > +++ /share/git/fstests/results//generic/363.out.bad 2025-05-19 19:55:58.000000000 +0800 > @@ -1,2 +1,78 @@ > QA output created by 363 > fsx -q -S 0 -e 1 -N 100000 > +READ BAD DATA: offset = 0xd6fb, size = 0xf044, fname = /mnt/f2fs/junk > +OFFSET GOOD BAD RANGE > +0x1540d 0x0000 0x2a25 0x0 > +operation# (mod 256) for the bad data may be 37 > +0x1540e 0x0000 0x2527 0x1 > ... > (Run 'diff -u /share/git/fstests/tests/generic/363.out /share/git/fstests/results//generic/363.out.bad' to see the entire diff) > Ran: generic/363 > Failures: generic/363 > Failed 1 of 1 tests > > The root cause is user can update post-eof page via mmap, however, f2fs missed > to zero post-eof page in below operations, so, once it expands i_size, then it > will include dummy data locates previous post-eof page, so during below > operations, we need to zero post-eof page. > > Operations which can include dummy data after previous i_size after expanding > i_size: > - write > - mapwrite > - truncate > - fallocate > * preallocate > * zero_range > * insert_range > * collapse_range > - clone_range (doesn’t support in f2fs) > - copy_range (doesn’t support in f2fs) > > Cc: stable@kernel.org > Signed-off-by: Chao Yu > --- > fs/f2fs/file.c | 28 ++++++++++++++++++++++++++++ > 1 file changed, 28 insertions(+) > > diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c > index 6bd3de64f2a8..c7c66e591ebc 100644 > --- a/fs/f2fs/file.c > +++ b/fs/f2fs/file.c > @@ -35,6 +35,17 @@ > #include > #include > > +static void f2fs_zero_post_eof_page(struct inode *inode, loff_t new_size) > +{ > + loff_t old_size = i_size_read(inode); > + > + if (old_size > new_size) > + return; > + > + /* zero or drop pages only in range of [old_size, new_size] */ > + truncate_pagecache(inode, old_size); > +} > + > static vm_fault_t f2fs_filemap_fault(struct vm_fault *vmf) > { > struct inode *inode = file_inode(vmf->vma->vm_file); > @@ -105,6 +116,9 @@ static vm_fault_t f2fs_vm_page_mkwrite(struct vm_fault *vmf) > > file_update_time(vmf->vma->vm_file); > filemap_invalidate_lock_shared(inode->i_mapping); > + > + f2fs_zero_post_eof_page(inode, (folio->index + 1) << PAGE_SHIFT); > + > folio_lock(folio); > if (unlikely(folio->mapping != inode->i_mapping || > folio_pos(folio) > i_size_read(inode) || > @@ -1109,6 +1123,8 @@ int f2fs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, > f2fs_down_write(&fi->i_gc_rwsem[WRITE]); > filemap_invalidate_lock(inode->i_mapping); > > + if (attr->ia_size > old_size) > + f2fs_zero_post_eof_page(inode, old_size); > truncate_setsize(inode, attr->ia_size); > > if (attr->ia_size <= old_size) > @@ -1227,6 +1243,8 @@ static int f2fs_punch_hole(struct inode *inode, loff_t offset, loff_t len) > if (ret) > return ret; > > + f2fs_zero_post_eof_page(inode, offset + len); > + > pg_start = ((unsigned long long) offset) >> PAGE_SHIFT; > pg_end = ((unsigned long long) offset + len) >> PAGE_SHIFT; > > @@ -1542,6 +1560,8 @@ static int f2fs_collapse_range(struct inode *inode, loff_t offset, loff_t len) > if (ret) > return ret; > > + f2fs_zero_post_eof_page(inode, offset + len); > + > ret = f2fs_do_collapse(inode, offset, len); > if (ret) > return ret; > @@ -1631,6 +1651,8 @@ static int f2fs_zero_range(struct inode *inode, loff_t offset, loff_t len, > if (ret) > return ret; > > + f2fs_zero_post_eof_page(inode, offset + len); > + > pg_start = ((unsigned long long) offset) >> PAGE_SHIFT; > pg_end = ((unsigned long long) offset + len) >> PAGE_SHIFT; > > @@ -1754,6 +1776,8 @@ static int f2fs_insert_range(struct inode *inode, loff_t offset, loff_t len) > if (ret) > return ret; > > + f2fs_zero_post_eof_page(inode, offset + len); > + > pg_start = offset >> PAGE_SHIFT; > pg_end = (offset + len) >> PAGE_SHIFT; > delta = pg_end - pg_start; > @@ -1819,6 +1843,8 @@ static int f2fs_expand_inode_data(struct inode *inode, loff_t offset, > if (err) > return err; > > + f2fs_zero_post_eof_page(inode, offset + len); > + > f2fs_balance_fs(sbi, true); > > pg_start = ((unsigned long long)offset) >> PAGE_SHIFT; > @@ -4860,6 +4886,8 @@ static ssize_t f2fs_write_checks(struct kiocb *iocb, struct iov_iter *from) > err = file_modified(file); > if (err) > return err; > + > + f2fs_zero_post_eof_page(inode, iocb->ki_pos + iov_iter_count(from)); > return count; > } > > -- > 2.49.0