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 68040C197A0 for ; Thu, 16 Nov 2023 23:35:05 +0000 (UTC) Received: from [127.0.0.1] (helo=sfs-ml-1.v29.lw.sourceforge.com) by sfs-ml-1.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1r3lt1-0004JJ-AI; Thu, 16 Nov 2023 23:35:03 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-1.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1r3lsx-0004Ia-Op for linux-f2fs-devel@lists.sourceforge.net; Thu, 16 Nov 2023 23:35:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: From:References:Cc:To:Subject:MIME-Version:Date:Message-ID: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=rkULf3scFhzjS1dsneFzkF5D5dL5G0jCH8/xfWwP8Cg=; b=BOlUFvDGv4Vzpu93aUaxW6QCS6 hBAZLVBtTEgG3WL+J3prptiVn5+jAniK4BP/F9eGpTMmizD4l/LNLcdQD0gYdWGLdfWzcnfOiOqPE Ya7+U3PROT5fqjKVtcYWZUMWV2gPwqj7mPceSSXjudKCh/A8r8h3vVFA9Mtk9XDiGne0=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID: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=rkULf3scFhzjS1dsneFzkF5D5dL5G0jCH8/xfWwP8Cg=; b=YG61Ww5mv4fqCgzAOt5ViBbnXx Zs+6Sez7hP4dejrwULP7EommiEcO/Mg+HGAPYSgXUTLpj1vMnpzoQwkoCruAP0XLlhY49tDgnfo2c Va2Jqt2Tt3MrBZPYqa6lKnq/EJMFddZa2rHZAJvdJZP+eeCQxIImb+j+j9Dtab9MthS4=; Received: from mail-pg1-f181.google.com ([209.85.215.181]) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.95) id 1r3lst-007rm5-Uj for linux-f2fs-devel@lists.sourceforge.net; Thu, 16 Nov 2023 23:35:00 +0000 Received: by mail-pg1-f181.google.com with SMTP id 41be03b00d2f7-5bd33a450fdso1142003a12.0 for ; Thu, 16 Nov 2023 15:34:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700177690; x=1700782490; darn=lists.sourceforge.net; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=rkULf3scFhzjS1dsneFzkF5D5dL5G0jCH8/xfWwP8Cg=; b=g2bxVlBLV2WQ53mzufKClG7Jn6FUEMpeq9GRmA/lH11EBAnxfTrDV59zBAEzgEgxkE mHfaC9M7LDSL/1ByIVnW7WpkHvrHBIdBOHfxAMpbZPyfqvAjw0iV3+JoZU6A0ZRBDwXl eeWBNz1EsecYJJoNRhziATdUAQWgFREsUVAtLLMH3z3lS6nKxG3kJj684FFB4vqWWJkc 85vXYtRvEastM/rwys4YHBXsbTYU9bTvaxfFUbXPTQux/OOmvUJwbz9YQwl6rHiUXReb rrz4S4+PKb30gri4p196TH0pR2Cnw65KSwLTKpg6HO1oudz4M4PNgYQmzxiTe6AfmZdM F9Iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700177690; x=1700782490; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rkULf3scFhzjS1dsneFzkF5D5dL5G0jCH8/xfWwP8Cg=; b=RzSDELIVjXpCfNCK6pnJbCCZAQBNiKLhD2014hRhjab5dS2D6ACJQLvVH1GS1Qctyb cmRPUDGReMaHfojeZ5jKiMKUxmTHszFLw0vPB+ZJNdtR2oscLUVJPzQUO9om1xpOfpU9 ZqCQ6BidJ3GnglSIc4l+P9LX271+Ge0gHWXHJ8apajWXencz8ix1Yi3uc7tFMgx8LLvM Hwz9qqCZ30jkNOitD/Z8ZPI/fFjHnZlJZdaYDkX2TRkaOCyzYRvhCVL1Vh4Peu/U1PlS /qeS/5v2srVDfsmYOebcyETxSFAWOhbI/tSegp31EYvI0sg+phGnsnAK+fhkI1PRPb2y 2voA== X-Gm-Message-State: AOJu0YzgXgg4TCaZ4PV3/0K7/jgLFeJ7o1TpM/K8+lp9mxXHgA6zoo0W CiK4781cSvYK4fdSnexXVJ4X1Gm5Bg4= X-Google-Smtp-Source: AGHT+IGGiCqLobfk0raoyD84ZNfIddYDfl8PqLow7tpR0awROI6jEQVNZwuOYWn087SjRblRYfWRTA== X-Received: by 2002:a05:6a20:8f19:b0:187:afb0:c2f5 with SMTP id b25-20020a056a208f1900b00187afb0c2f5mr4278845pzk.3.1700177690176; Thu, 16 Nov 2023 15:34:50 -0800 (PST) Received: from [192.168.50.127] (awork111197.netvigator.com. [203.198.94.197]) by smtp.gmail.com with ESMTPSA id du24-20020a056a002b5800b00686b649cdd0sm272060pfb.86.2023.11.16.15.34.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Nov 2023 15:34:49 -0800 (PST) Message-ID: Date: Fri, 17 Nov 2023 07:34:44 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Content-Language: en-US To: Chao Yu , Wu Bo , Jaegeuk Kim References: <20231030094024.263707-1-bo.wu@vivo.com> <670ce4a6-f00c-dbe9-86e2-366311221cf3@gmail.com> From: Wu Bo In-Reply-To: X-Headers-End: 1r3lst-007rm5-Uj Subject: Re: [f2fs-dev] [PATCH 1/1] f2fs: fix fallocate failed under pinned block situation 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: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net T24gMjAyMy8xMS8xMSAxMjo0OSwgQ2hhbyBZdSB3cm90ZToKPiBPbiAyMDIzLzExLzggMjE6NDgs IFd1IEJvIHdyb3RlOgo+PiBPbiAyMDIzLzExLzcgMjI6MzksIENoYW8gWXUgd3JvdGU6Cj4+PiBP biAyMDIzLzEwLzMwIDE3OjQwLCBXdSBCbyB3cm90ZToKPj4+PiBJZiBHQyB2aWN0aW0gaGFzIHBp bm5lZCBibG9jaywgaXQgY2FuJ3QgYmUgcmVjeWNsZWQuCj4+Pj4gQW5kIGlmIEdDIGlzIGZvcmVn cm91bmQgcnVubmluZywgYWZ0ZXIgbWFueSBmYWlsdXJlIHRyeSwgdGhlIHBpbm5lZCAKPj4+PiBm aWxlCj4+Pj4gaXMgZXhwZWN0ZWQgdG8gYmUgY2xlYXIgcGluIGZsYWcuIFRvIGVuYWJsZSB0aGUg c2VjdGlvbiBiZSByZWN5Y2xlZC4KPj4+Pgo+Pj4+IEJ1dCB3aGVuIGZhbGxvY2F0ZSB0cmlnZ2Vy IEZHX0dDLCBHQyBjYW4gbmV2ZXIgcmVjeWNsZSB0aGUgcGlubmVkCj4+Pj4gc2VjdGlvbi4gQmVj YXVzZSBHQyB3aWxsIGdvIHRvIHN0b3AgYmVmb3JlIHRoZSBmYWlsdXJlIHRyeSBtZWV0IHRoZQo+ Pj4+IHRocmVzaG9sZDoKPj4+PiDCoMKgwqDCoMKgaWYgKGhhc19lbm91Z2hfZnJlZV9zZWNzKHNi aSwgc2VjX2ZyZWVkLCAwKSkgewo+Pj4+IMKgwqDCoMKgwqDCoMKgwqAgaWYgKCFnY19jb250cm9s LT5ub19iZ19nYyAmJgo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0b3RhbF9zZWNfZnJl ZWQgPCBnY19jb250cm9sLT5ucl9mcmVlX3NlY3MpCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGdvdG8gZ29fZ2NfbW9yZTsKPj4+PiDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gc3RvcDsKPj4+ PiDCoMKgwqDCoMKgfQo+Pj4+Cj4+Pj4gU28gd2hlbiBmYWxsb2NhdGUgdHJpZ2dlciBGR19HQywg YXQgbGVhc3QgcmVjeWNsZSBvbmUuCj4+Pgo+Pj4gSG1tLi4uIGl0IG1heSBicmVhayBwaW5maWxl J3Mgc2VtYW50aWNzIGF0IGxlYXN0IG9uIG9uZSBwaW5uZWQgZmlsZT8KPj4+IEluIHRoaXMgY2Fz ZSwgSSBwcmVmZXIgdG8gZmFpbCBmYWxsb2NhdGUoKSByYXRoZXIgdGhhbiB1bnBpbm5pbmcgZmls ZSwKPj4+IGluIG9yZGVyIHRvIGF2b2lkIGxlYXZpbmcgaW52YWxpZCBMQkEgcmVmZXJlbmNlcyBv ZiB1bnBpbm5lZCBmaWxlIGhlbGQKPj4+IGJ5IHVzZXJzcGFjZS4KPj4KPj4gQXMgZjJmcyBkZXNp Z25lZCBub3csIEZHX0dDIGlzIGFibGUgdG8gdW5waW4gdGhlIHBpbm5lZCBmaWxlLgo+Pgo+PiBm YWxsb2NhdGUoKSB0cmlnZ2VyZWQgRkdfR0MsIGJ1dCBjYW4ndCByZWN5Y2xlIHNwYWNlLsKgIEl0 IGJyZWFrcyB0aGUKPj4gZGVzaWduIGxvZ2ljIG9mIEZHX0dDLgo+Cj4gWWVzLCBjb250cmFkaWN0 b3JpbmVzcyBleGlzdHMuCj4KPiBJTU8sIHVucGluIGZpbGUgYnkgR0MgbG9va3MgbW9yZSBkYW5n ZXJvdXMsIGl0IG1heSBjYXVzZSBwb3RlbnRpYWwgZGF0YQo+IGNvcnJ1cHRpb24gdy8gYmVsb3cg Y2FzZToKPiAxLiBhcHAgcGlucyBmaWxlICYgaG9sZHMgTEJBcyBvZiBkYXRhIGJsb2Nrcy4KPiAy LiBHQyB1bnBpbnMgZmlsZSBhbmQgbWlncmF0ZXMgaXRzIGRhdGEgdG8gbmV3IExCQXMuCj4gMy4g b3RoZXIgZmlsZSByZXVzZXMgcHJldmlvdXMgTEJBcy4KPiA0LiBhcHAgcmVhZC93cml0ZSBkYXRh IHZpYSBwcmV2aW91cyBMQkFzLgo+Cj4gU28gSSBzdWdnZXN0IHRvIG5vcm1hbGl6ZSB1c2Ugb2Yg cGluZmlsZSBhbmQgZG8gbm90IGFkZCBtb3JlIHVucGluIGNhc2VzCj4gaW4gZmlsZXN5c3RlbSBp bm5lciBwcm9jZXNzZXMuCj4KPj4KPj4gVGhpcyBpc3N1ZSBpcyBoYXBwZW5lZCBpbiBBbmRyb2lk IE9UQSBzY2VuYXJpby7CoCBmYWxsb2NhdGUoKSBhbHdheXMKPj4gcmV0dXJuIGZhaWx1cmUgY2F1 c2UgT1RBIGZhaWwuCj4KPiBDYW4geW91IHBsZWFzZSBjaGVjayB3aHkgb3RoZXIgcGlubmVkIGZp bGVzIHdlcmUgc28gZnJhZ21lbnRlZCB0aGF0IAo+IGYyZnNfZ2MoKQo+IGNhbiBub3QgcmVjeWNs ZSBvbmUgZnJlZSBzZWN0aW9uPwo+Ck5vdCBiZWNhdXNlIHBpbm5lZCBmaWxlcyB3ZXJlIGZyYWdt ZW50ZWQsIGJ1dCBpZiB0aGUgR0MgdmljdGltIHNlY3Rpb24gCmhhcyBvbmUgYmxvY2sgaXMgcGlu bmVkIHdpbGwgY2F1c2UgdGhpcyBpc3N1ZS4KCklmIHRoZSBzZWN0aW9uIGRvbid0IHVucGluIHRo ZSBibG9jaywgaXQgY2FuJ3QgYmUgcmVjeWNsZWQuIEJ1dCB0aGVyZSBpcyAKaGlnaCBjaGFuY2Ug dGhhdCB0aGUgcGlubmVkIHNlY3Rpb24gd2lsbCBiZSBjaG9zZW4gbmV4dCB0aW1lIHVuZGVyIGYy ZnMgCmN1cnJlbnQgdmljdGltIHNlbGVjdGlvbiBzdHJhdGVneS4KClNvIGlmIHdlIHdhbnQgdG8g YXZvaWQgdW5waW4gZmlsZXMsIEkgdGhpbmsgY2hhbmdlIHZpY3RpbSBzZWxlY3Rpb24gdG8gCmNv bnNpZGVyaW5nIHBpbm5lZCBibG9ja3MgY2FuIGZpeCB0aGlzIGlzc3VlLgoKPiBUaGFua3MsCj4K Pj4KPj4gwqAgwqBBbmQgdGhpcyBjb21taXQgY2hhbmdlZCBwcmV2aW91cyBiZWhhdmlvciBvZiBm YWxsb2NhdGUoKToKPj4KPj4gQ29tbWl0IDJlNDJiN2Y4MTdhYyAoImYyZnM6IHN0b3AgYWxsb2Nh dGluZyBwaW5uZWQgc2VjdGlvbnMgaWYgRUFHQUlOCj4+IGhhcHBlbnMiKQo+Pgo+PiBCZWZvcmUg dGhpcyBjb21taXQsIGlmIGZhbGxvY2F0ZSgpIG1lZXQgdGhpcyBzaXR1YXRpb24sIGl0IHdpbGwg dHJpZ2dlcgo+PiBGR19HQyB0byByZWN5Y2xlIHBpbm5lZCBzcGFjZSBmaW5hbGx5Lgo+Pgo+PiBG R19HQyBpcyBleHBlY3RlZCB0byByZWN5Y2xlIHBpbm5lZCBzcGFjZSB3aGVuIHRoZXJlIGlzIG5v IG1vcmUgZnJlZQo+PiBzcGFjZS7CoCBBbmQgdGhpcyBpcyB0aGUgcmlnaHQgdGltZSB0byBkbyBp dCB3aGVuIGZhbGxvY2F0ZSgpIG5lZWQgZnJlZQo+PiBzcGFjZS4KPj4KPj4gSXQgaXMgd2VpcmQg d2hlbiBmMmZzIHNob3dzIGVub3VnaCBzcGFyZSBzcGFjZSBidXQgY2FuJ3QgZmFsbG9jYXRlKCku IFNvCj4+IEkgdGhpbmsgaXQgc2hvdWxkIGJlIGZpeGVkLgo+Pgo+Pj4KPj4+IFRob3VnaHRzPwo+ Pj4KPj4+IFRoYW5rcywKPj4+Cj4+Pj4KPj4+PiBUaGlzIGlzc3VlIGNhbiBiZSByZXByb2R1Y2Vk IGJ5IGZpbGxpbmcgZjJmcyBzcGFjZSBhcyBmb2xsb3dpbmcgCj4+Pj4gbGF5b3V0Lgo+Pj4+IEV2 ZXJ5IHNlZ21lbnQgaGFzIG9uZSBibG9jayBpcyBwaW5uZWQ6Cj4+Pj4gKy0rLSstKy0rLSstKy0t LS0tKy0rCj4+Pj4gfCB8IHxwfCB8IHwgfCAuLi4gfCB8IHNlZ19uCj4+Pj4gKy0rLSstKy0rLSst Ky0tLS0tKy0rCj4+Pj4gKy0rLSstKy0rLSstKy0tLS0tKy0rCj4+Pj4gfCB8IHxwfCB8IHwgfCAu Li4gfCB8IHNlZ19uKzEKPj4+PiArLSstKy0rLSstKy0rLS0tLS0rLSsKPj4+PiAuLi4KPj4+PiAr LSstKy0rLSstKy0rLS0tLS0rLSsKPj4+PiB8IHwgfHB8IHwgfCB8IC4uLiB8IHwgc2VnX24rawo+ Pj4+ICstKy0rLSstKy0rLSstLS0tLSstKwo+Pj4+Cj4+Pj4gQW5kIGZvbGxvd2luZyBhcmUgc3Rl cHMgdG8gcmVwcm9kdWNlIHRoaXMgaXNzdWU6Cj4+Pj4gZGQgaWY9L2Rldi96ZXJvIG9mPS4vZjJm c19waW4uaW1nIGJzPTJNIGNvdW50PTEwMjQKPj4+PiBta2ZzLmYyZnMgZjJmc19waW4uaW1nCj4+ Pj4gbWtkaXIgZjJmcwo+Pj4+IG1vdW50IGYyZnNfcGluLmltZyAuL2YyZnMKPj4+PiBjZCBmMmZz Cj4+Pj4gZGQgaWY9L2Rldi96ZXJvIG9mPS4vbGFyZ2VfcGFkZGluZyBicz0xTSBjb3VudD0xNzYw Cj4+Pj4gLi9waW5fZmlsbGluZy5zaAo+Pj4+IHJtIHBhZGRpbmcqCj4+Pj4gc3luYwo+Pj4+IHRv dWNoIGZhbGxvY2F0ZV80MG0KPj4+PiBmMmZzX2lvIHBpbmZpbGUgc2V0IGZhbGxvY2F0ZV80MG0K Pj4+PiBmYWxsb2NhdGUgLWwgNDE5NDMwNDAgZmFsbG9jYXRlXzQwbQo+Pj4+Cj4+Pj4gZmFsbG9j YXRlIGFsd2F5cyBmYWlsIHdpdGggRUFHQUlOIGV2ZW4gdGhlcmUgaGFzIGVub3VnaCBmcmVlIHNw YWNlLgo+Pj4+Cj4+Pj4gJ3Bpbl9maWxsaW5nLnNoJyBpczoKPj4+PiBjb3VudD0xCj4+Pj4gd2hp bGUgOgo+Pj4+IGRvCj4+Pj4gwqDCoMKgwqDCoCAjIGZpbGxpbmcgdGhlIHNlZyBzcGFjZQo+Pj4+ IMKgwqDCoMKgwqAgZm9yIGkgaW4gezEuLjUxMX06Cj4+Pj4gwqDCoMKgwqDCoCBkbwo+Pj4+IMKg wqDCoMKgwqDCoMKgwqDCoCBuYW1lPXBhZGRpbmdfJGNvdW50LSRpCj4+Pj4gwqDCoMKgwqDCoMKg wqDCoMKgIGVjaG8gd3JpdGUgJG5hbWUKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZGQgaWY9L2Rl di96ZXJvIG9mPS4vJG5hbWUgYnM9NEsgY291bnQ9MSA+IC9kZXYvbnVsbCAyPiYxCj4+Pj4gwqDC oMKgwqDCoMKgwqDCoMKgIGlmIFsgJD8gLW5lIDAgXTsgdGhlbgo+Pj4+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgZXhpdCAwCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGZpCj4+ Pj4gwqDCoMKgwqDCoCBkb25lCj4+Pj4gwqDCoMKgwqDCoCBzeW5jCj4+Pj4KPj4+PiDCoMKgwqDC oMKgICMgcGluIG9uZSBibG9jayBpbiBhIHNlZ21lbnQKPj4+PiDCoMKgwqDCoMKgIG5hbWU9cGlu X2ZpbGUkY291bnQKPj4+PiDCoMKgwqDCoMKgIGRkIGlmPS9kZXYvemVybyBvZj0uLyRuYW1lIGJz PTRLIGNvdW50PTEgPiAvZGV2L251bGwgMj4mMQo+Pj4+IMKgwqDCoMKgwqAgc3luYwo+Pj4+IMKg wqDCoMKgwqAgZjJmc19pbyBwaW5maWxlIHNldCAkbmFtZQo+Pj4+IMKgwqDCoMKgwqAgY291bnQ9 JCgoJGNvdW50ICsgMSkpCj4+Pj4gZG9uZQo+Pj4+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogV3UgQm8g PGJvLnd1QHZpdm8uY29tPgo+Pj4+IC0tLQo+Pj4+IMKgwqAgZnMvZjJmcy9maWxlLmMgfCAyICst Cj4+Pj4gwqDCoCAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK Pj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9mcy9mMmZzL2ZpbGUuYyBiL2ZzL2YyZnMvZmlsZS5jCj4+ Pj4gaW5kZXggY2E1OTA0MTI5YjE2Li5lOGExMzYxNjU0M2YgMTAwNjQ0Cj4+Pj4gLS0tIGEvZnMv ZjJmcy9maWxlLmMKPj4+PiArKysgYi9mcy9mMmZzL2ZpbGUuYwo+Pj4+IEBAIC0xNjkwLDcgKzE2 OTAsNyBAQCBzdGF0aWMgaW50IGYyZnNfZXhwYW5kX2lub2RlX2RhdGEoc3RydWN0IGlub2RlCj4+ Pj4gKmlub2RlLCBsb2ZmX3Qgb2Zmc2V0LAo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgLmluaXRfZ2NfdHlwZSA9IEZHX0dDLAo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgLnNob3VsZF9taWdyYXRlX2Jsb2NrcyA9IGZhbHNlLAo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgLmVycl9nY19za2lwcGVkID0gdHJ1ZSwKPj4+PiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCAubnJfZnJlZV9zZWNzID0gMCB9Owo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IC5ucl9mcmVlX3NlY3MgPSAxIH07Cj4+Pj4gwqDCoMKgwqDCoMKgIHBnb2ZmX3QgcGdfc3RhcnQs IHBnX2VuZDsKPj4+PiDCoMKgwqDCoMKgwqAgbG9mZl90IG5ld19zaXplOwo+Pj4+IMKgwqDCoMKg wqDCoCBsb2ZmX3Qgb2ZmX2VuZDsKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpMaW51eC1mMmZzLWRldmVsIG1haWxpbmcgbGlzdApMaW51eC1mMmZzLWRl dmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9s aXN0cy9saXN0aW5mby9saW51eC1mMmZzLWRldmVsCg== 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 47931C5ACB3 for ; Thu, 16 Nov 2023 23:37:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345600AbjKPXe5 (ORCPT ); Thu, 16 Nov 2023 18:34:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33352 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345566AbjKPXey (ORCPT ); Thu, 16 Nov 2023 18:34:54 -0500 Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com [IPv6:2607:f8b0:4864:20::532]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D95398E for ; Thu, 16 Nov 2023 15:34:50 -0800 (PST) Received: by mail-pg1-x532.google.com with SMTP id 41be03b00d2f7-5bde80aad05so1129375a12.2 for ; Thu, 16 Nov 2023 15:34:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700177690; x=1700782490; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=rkULf3scFhzjS1dsneFzkF5D5dL5G0jCH8/xfWwP8Cg=; b=k74gpbnjC+xhbCxGrf4pWuTh0+cfiNoquVXF4zieKW+I8r/qfBK2IBF2X84aeY/8WE zt/uPkKRsmTcN/zZgaQpxbHg9ODs5aoaUOhMWFrwg9KvnZ9SutjHjL8YYOMgSF5gg35q zy4lCk2bJzq81XH8AbxI0jXzIV9A0F4xAOjy9uOlLZHKtE7IgjPpz9nl0717ZfQGsv7i f/oJiloA5m9LBDdY7Oh7HxB3qbf5GBvSpfFUUGSsON4xhNBc4x/cKW3P4vHxht0QltRq 6kSTe+GUIdgGJ/mq6Oo63gi7DZxc9CFGtVFouqm6qIFICJf9F2bihINEfNfTMNbZ5pDj dldg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700177690; x=1700782490; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rkULf3scFhzjS1dsneFzkF5D5dL5G0jCH8/xfWwP8Cg=; b=WFRGgW+T525i+IPlgc7yJWe6vgSWshnB8uB8slXqCjtpBGz2a0+efYT+QLyRt6udaq Fu8G0ZLm9ftKIohzDyNhZMxJ92nFjqbBAZF+9eB6gKNbEIx++18cjGYspEzS3CfJYhh2 WWkLlJT3HrbxPyZneJUPYVSfynjliiKkF4lmg/eqiI9FORQ6Kx/uG2JMXWiv8Wkd9Oin bIOyY1a/0+al8Ch2tuanP9bUng/XX/oDojkRGfD19hnc8abGzK+LDUgFu/lps6IUBhQY rvMGBqNufSPBEHqj6X/mS/imfF09G9VcmXNR9dB9nP02ti2RmrWJ2pfMoIlLUzKkHMRV 62FA== X-Gm-Message-State: AOJu0Yyr2Tv0ckCnmjvQUBRFxoaDFvRMxyyDJBVdq0hjpEGRO2ivGLEr Ewl95Awjo8MuxGIRZAQ6CZU= X-Google-Smtp-Source: AGHT+IGGiCqLobfk0raoyD84ZNfIddYDfl8PqLow7tpR0awROI6jEQVNZwuOYWn087SjRblRYfWRTA== X-Received: by 2002:a05:6a20:8f19:b0:187:afb0:c2f5 with SMTP id b25-20020a056a208f1900b00187afb0c2f5mr4278845pzk.3.1700177690176; Thu, 16 Nov 2023 15:34:50 -0800 (PST) Received: from [192.168.50.127] (awork111197.netvigator.com. [203.198.94.197]) by smtp.gmail.com with ESMTPSA id du24-20020a056a002b5800b00686b649cdd0sm272060pfb.86.2023.11.16.15.34.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Nov 2023 15:34:49 -0800 (PST) Message-ID: Date: Fri, 17 Nov 2023 07:34:44 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH 1/1] f2fs: fix fallocate failed under pinned block situation Content-Language: en-US To: Chao Yu , Wu Bo , Jaegeuk Kim Cc: linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org References: <20231030094024.263707-1-bo.wu@vivo.com> <670ce4a6-f00c-dbe9-86e2-366311221cf3@gmail.com> From: Wu Bo In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2023/11/11 12:49, Chao Yu wrote: > On 2023/11/8 21:48, Wu Bo wrote: >> On 2023/11/7 22:39, Chao Yu wrote: >>> On 2023/10/30 17:40, Wu Bo wrote: >>>> If GC victim has pinned block, it can't be recycled. >>>> And if GC is foreground running, after many failure try, the pinned >>>> file >>>> is expected to be clear pin flag. To enable the section be recycled. >>>> >>>> But when fallocate trigger FG_GC, GC can never recycle the pinned >>>> section. Because GC will go to stop before the failure try meet the >>>> threshold: >>>>      if (has_enough_free_secs(sbi, sec_freed, 0)) { >>>>          if (!gc_control->no_bg_gc && >>>>              total_sec_freed < gc_control->nr_free_secs) >>>>              goto go_gc_more; >>>>          goto stop; >>>>      } >>>> >>>> So when fallocate trigger FG_GC, at least recycle one. >>> >>> Hmm... it may break pinfile's semantics at least on one pinned file? >>> In this case, I prefer to fail fallocate() rather than unpinning file, >>> in order to avoid leaving invalid LBA references of unpinned file held >>> by userspace. >> >> As f2fs designed now, FG_GC is able to unpin the pinned file. >> >> fallocate() triggered FG_GC, but can't recycle space.  It breaks the >> design logic of FG_GC. > > Yes, contradictoriness exists. > > IMO, unpin file by GC looks more dangerous, it may cause potential data > corruption w/ below case: > 1. app pins file & holds LBAs of data blocks. > 2. GC unpins file and migrates its data to new LBAs. > 3. other file reuses previous LBAs. > 4. app read/write data via previous LBAs. > > So I suggest to normalize use of pinfile and do not add more unpin cases > in filesystem inner processes. > >> >> This issue is happened in Android OTA scenario.  fallocate() always >> return failure cause OTA fail. > > Can you please check why other pinned files were so fragmented that > f2fs_gc() > can not recycle one free section? > Not because pinned files were fragmented, but if the GC victim section has one block is pinned will cause this issue. If the section don't unpin the block, it can't be recycled. But there is high chance that the pinned section will be chosen next time under f2fs current victim selection strategy. So if we want to avoid unpin files, I think change victim selection to considering pinned blocks can fix this issue. > Thanks, > >> >>    And this commit changed previous behavior of fallocate(): >> >> Commit 2e42b7f817ac ("f2fs: stop allocating pinned sections if EAGAIN >> happens") >> >> Before this commit, if fallocate() meet this situation, it will trigger >> FG_GC to recycle pinned space finally. >> >> FG_GC is expected to recycle pinned space when there is no more free >> space.  And this is the right time to do it when fallocate() need free >> space. >> >> It is weird when f2fs shows enough spare space but can't fallocate(). So >> I think it should be fixed. >> >>> >>> Thoughts? >>> >>> Thanks, >>> >>>> >>>> This issue can be reproduced by filling f2fs space as following >>>> layout. >>>> Every segment has one block is pinned: >>>> +-+-+-+-+-+-+-----+-+ >>>> | | |p| | | | ... | | seg_n >>>> +-+-+-+-+-+-+-----+-+ >>>> +-+-+-+-+-+-+-----+-+ >>>> | | |p| | | | ... | | seg_n+1 >>>> +-+-+-+-+-+-+-----+-+ >>>> ... >>>> +-+-+-+-+-+-+-----+-+ >>>> | | |p| | | | ... | | seg_n+k >>>> +-+-+-+-+-+-+-----+-+ >>>> >>>> And following are steps to reproduce this issue: >>>> dd if=/dev/zero of=./f2fs_pin.img bs=2M count=1024 >>>> mkfs.f2fs f2fs_pin.img >>>> mkdir f2fs >>>> mount f2fs_pin.img ./f2fs >>>> cd f2fs >>>> dd if=/dev/zero of=./large_padding bs=1M count=1760 >>>> ./pin_filling.sh >>>> rm padding* >>>> sync >>>> touch fallocate_40m >>>> f2fs_io pinfile set fallocate_40m >>>> fallocate -l 41943040 fallocate_40m >>>> >>>> fallocate always fail with EAGAIN even there has enough free space. >>>> >>>> 'pin_filling.sh' is: >>>> count=1 >>>> while : >>>> do >>>>       # filling the seg space >>>>       for i in {1..511}: >>>>       do >>>>           name=padding_$count-$i >>>>           echo write $name >>>>           dd if=/dev/zero of=./$name bs=4K count=1 > /dev/null 2>&1 >>>>           if [ $? -ne 0 ]; then >>>>                   exit 0 >>>>           fi >>>>       done >>>>       sync >>>> >>>>       # pin one block in a segment >>>>       name=pin_file$count >>>>       dd if=/dev/zero of=./$name bs=4K count=1 > /dev/null 2>&1 >>>>       sync >>>>       f2fs_io pinfile set $name >>>>       count=$(($count + 1)) >>>> done >>>> >>>> Signed-off-by: Wu Bo >>>> --- >>>>    fs/f2fs/file.c | 2 +- >>>>    1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c >>>> index ca5904129b16..e8a13616543f 100644 >>>> --- a/fs/f2fs/file.c >>>> +++ b/fs/f2fs/file.c >>>> @@ -1690,7 +1690,7 @@ static int f2fs_expand_inode_data(struct inode >>>> *inode, loff_t offset, >>>>                .init_gc_type = FG_GC, >>>>                .should_migrate_blocks = false, >>>>                .err_gc_skipped = true, >>>> -            .nr_free_secs = 0 }; >>>> +            .nr_free_secs = 1 }; >>>>        pgoff_t pg_start, pg_end; >>>>        loff_t new_size; >>>>        loff_t off_end;