From patchwork Fri Feb 23 20:55:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaegeuk Kim X-Patchwork-Id: 205669 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp839304dyb; Fri, 23 Feb 2024 12:56:04 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUJq142CGhTLX2EMzNxH1Cu98z5rYOaPpOw/OVg3rvLhztCtNo6hUyoWr0y+/83QYP1DsUHqyA8KC+i96MB0IeABexBOw== X-Google-Smtp-Source: AGHT+IFwDpnaroV+JGS3nlGijXMNDa/TNCyrcaF1/ZS1gMRAMWyzOSb8RY7arJ3cz3QHo2x7FOtB X-Received: by 2002:aa7:d64d:0:b0:565:25b4:ef1d with SMTP id v13-20020aa7d64d000000b0056525b4ef1dmr572486edr.27.1708721764318; Fri, 23 Feb 2024 12:56:04 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708721764; cv=pass; d=google.com; s=arc-20160816; b=SqoDdEhawhyZQPZ6ug90TpJ+Qz4sw4iOxKpgbBtZdlBgnetr2KqjMi5UGVZm02Axpz 752ijM945ctzAdzWa76WIqsS2YPlLN0mLqTO7lmyeO9+wuMqETDnTX8FE6qHxSRfrjMs g5Pl3EngZxEdnPVyNbC1dgus9Iw//+3uZMDhRSrGkKBijnPyI79EKfxqdsue9EcJZU+4 ZhFKKSvYvnvHgrlNgtlS9O+Cxh134eEDsQIyObzw8L9d+e444O4pBs5ixI3bHKi5HWhW RovLYJHdtTOI5SugxvxfEkuFhEZNiccbFuLTliiS5RwvIyVTvfzNJuIJzvf0VHzgQ5yV AG1g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=VEWOc3/qVc2KPcpTDw+ll2WDFuxPJYoyTKvqkHF9X/Q=; fh=rqHW7NazYv3wAmgqDKAbZUXWTmf0VaM5epB9R4zfTUE=; b=H6NdnEMYp+GFxBYtAk6Arw5l68egwWM2vYiN0nObzv/qxMhSdMXqWwsYlXeMWQeZJN Qzx1b8w6vI+1Bv+DctPVVZxk+rzGQgedxrNkLZk1D9Oct9WZKclHOtYI/Q35x90SIK0c 7R6e7ESPozWdK+RXrHwUs2lad5CcC5AZJxv3oFrBBQkDh4shvdE9S512Oxu/44b2draM 1p9mm0NIZszAPOKcoJilgZSMe6TP+WxYkjvPYd287E4ZCC43rwXeDnWrYp6CYKgDAFCD wjpdjS3xZ5wd5BcJEoOmLDQSXXWqU2kMhbvJKO0E8hLz61rJDZxWZg8tNxjUpqu/8dHA oNlQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=aU2nOLhP; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-79146-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79146-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id x15-20020aa7d38f000000b00564053daf54si6402311edq.439.2024.02.23.12.56.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Feb 2024 12:56:04 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-79146-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=aU2nOLhP; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-79146-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79146-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id E98041F237B7 for ; Fri, 23 Feb 2024 20:56:03 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0D70414939E; Fri, 23 Feb 2024 20:55:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aU2nOLhP" 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 719A325750 for ; Fri, 23 Feb 2024 20:55:37 +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=1708721737; cv=none; b=N/ipj/3Gw4YaK1Ps5OgAQdETwMgOsaUxHuZHaeuwFCwtH4vN3X7+F/xWikDoZ+SAZxTQEftUuGpiOy+9EzeGaKk6dlliIuDbVa8G87eIBvHme87ZzqAJ4nQAk3oNmdIG9Z2FGGccILJVIoZAQAe6oIxJofne/pHIWT/C1HS42uo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708721737; c=relaxed/simple; bh=wi3u34VTGkwAs5nfIRnTyLTx4oN1qD3NGEQPACYbTI8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=X5f/YPmNHC1UELxZzh/E+4QprHxWsjYnaTp2+RyHLkulqosglOxu8tRetiX78PI9LAmPYI35ltduGS1XTYkTXh/f9yG70mJorMExvF1sUSuYF6acLMyDPVQI6cR0e3x229xqCN1gtBm1xPKl45cpsVTxDSfRrR4hIKcnagJKzr8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aU2nOLhP; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id F407EC433F1; Fri, 23 Feb 2024 20:55:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1708721737; bh=wi3u34VTGkwAs5nfIRnTyLTx4oN1qD3NGEQPACYbTI8=; h=From:To:Cc:Subject:Date:From; b=aU2nOLhPL/RgRvW9sZrWBoEMGkQMKGW41pCk2KlqkmzUhp/hX99bvOtMW1LhYDrRd UpXbRlEDrnjPSA3Z0KBG+IoFaWzSBmJB5x+OAf7GWurnmoXDD9q/kagKm6IOFreHzz zivFOs6zRM2qczbiEPefUbwQ7scYiP/8CYr1mRvTg+F+cnhc74lt0vVXBOuKVVfEr8 VBkam+Zf9kUUPIV/XoXtvKMjO6CFCv7tkPcou25L5en85RW/vXwcC0McK1fxlaluYF R0/oJ/6kTuYdO9+fGO9js6zx5uU1LlNkAeML4+TgHU7wP4amKPogX86X9vGjFsbnL2 136s3D2xeMrbg== From: Jaegeuk Kim To: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Cc: Jaegeuk Kim Subject: [PATCH 1/5] f2fs: check number of blocks in a current section Date: Fri, 23 Feb 2024 12:55:31 -0800 Message-ID: <20240223205535.307307-1-jaegeuk@kernel.org> X-Mailer: git-send-email 2.44.0.rc0.258.g7320e95886-goog Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791724632371923939 X-GMAIL-MSGID: 1791724632371923939 In cfd66bb715fd ("f2fs: fix deadloop in foreground GC"), we needed to check the number of blocks in a section instead of the segment. In addtion, let's check the entire node sections when checking the avaiable node block space. It does not match one to one per temperature, but currently we don't have exact dirty page count per temperature. Hence, use a rough estimation. Fixes: cfd66bb715fd ("f2fs: fix deadloop in foreground GC") Signed-off-by: Jaegeuk Kim Signed-off-by: Jaegeuk Kim Reviewed-by: Chao Yu --- fs/f2fs/segment.h | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h index 3edd3809b6b5..15bf5edd9b3c 100644 --- a/fs/f2fs/segment.h +++ b/fs/f2fs/segment.h @@ -561,23 +561,23 @@ static inline bool has_curseg_enough_space(struct f2fs_sb_info *sbi, unsigned int node_blocks, unsigned int dent_blocks) { - unsigned int segno, left_blocks; + unsigned segno, left_blocks; int i; - /* check current node segment */ + /* check current node sections, which counts very roughly */ + left_blocks = 0; for (i = CURSEG_HOT_NODE; i <= CURSEG_COLD_NODE; i++) { segno = CURSEG_I(sbi, i)->segno; - left_blocks = f2fs_usable_blks_in_seg(sbi, segno) - - get_seg_entry(sbi, segno)->ckpt_valid_blocks; - - if (node_blocks > left_blocks) - return false; + left_blocks += CAP_BLKS_PER_SEC(sbi) - + get_ckpt_valid_blocks(sbi, segno, true); } + if (node_blocks > left_blocks) + return false; - /* check current data segment */ + /* check current data section for dentry blocks. */ segno = CURSEG_I(sbi, CURSEG_HOT_DATA)->segno; - left_blocks = f2fs_usable_blks_in_seg(sbi, segno) - - get_seg_entry(sbi, segno)->ckpt_valid_blocks; + left_blocks = CAP_BLKS_PER_SEC(sbi) - + get_ckpt_valid_blocks(sbi, segno, true); if (dent_blocks > left_blocks) return false; return true; @@ -626,7 +626,7 @@ static inline bool has_not_enough_free_secs(struct f2fs_sb_info *sbi, if (free_secs > upper_secs) return false; - else if (free_secs <= lower_secs) + if (free_secs <= lower_secs) return true; return !curseg_space; } From patchwork Fri Feb 23 20:55:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaegeuk Kim X-Patchwork-Id: 205670 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp839415dyb; Fri, 23 Feb 2024 12:56:20 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCWeXsoN+OR23BHHquPmvqbQ68TQhRLTMPW14PJq38tjdesDWAq9z57bIt8of86QkcrXOfSno3CfHugfNl8AQsWX2adClQ== X-Google-Smtp-Source: AGHT+IFHInsuyA0LTzs6LyoI2g9feMiy+PUo4xTgc4qUNfPqCoZdtsX2CgPYkCwRE3D80qw6hWab X-Received: by 2002:a17:906:355b:b0:a3f:ce89:f913 with SMTP id s27-20020a170906355b00b00a3fce89f913mr595233eja.42.1708721779853; Fri, 23 Feb 2024 12:56:19 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708721779; cv=pass; d=google.com; s=arc-20160816; b=pFDPOsVwBwlnK42t4QIFSUsG5ige3K69EPME/gkvXxL7B4z/AhqeC4ZClbMOptdoq0 kPD4SVRGGGKHl/pypSTsSBdwpnEFKYzAa2S2ymsZHfdtu8WGA1AE4o5YCcgVwHfvUg2s gjjHfKLigOXllPFaia6+3mO5KMIQyrmhzj+rijfR/o2Xv/24CSD8ctMqPbrz9jD/k3fA fFAQbWcrl7DMPlpP/n3+HouEnBGwppewzJegPwRNMusu3CZ9IK1sfLdJw9ACVi5pYNDw kFV95vtNT92EmD8fA0nHecgcGWfxtQtUR4FzW1gyxd8LG5gQ+kPdqUVD7O8MLyLcl0bp SZEw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=d6MvAWa8krcr3w/taXqtwCdQET9wq8pEdAb3QBFq3EE=; fh=rqHW7NazYv3wAmgqDKAbZUXWTmf0VaM5epB9R4zfTUE=; b=0xXwho2DdEtIRffhXgwyknUdvlc6YMpeYZpszcwtBYkFsAaG4dXQKVqF1pXEvWvcWH Ogv5Mfd1ZhsmL5NtpQuLhGvEoJca18b/KAewOhJxgSO347Qj6wBZdNM0dlwBrxrnmB5T JhQHxdu3R3OHquwEm76U9D+if8ImrbamnsNPy34qtYt5gCJ/fVxTt7cP/Y+cTTjCk3d2 nXJwWcItjwgwzEO6MNpDVoknmhpFrJeEwJvkSZV6Reia2OanvlyJC89jQkosSu5bRW1D EsUfQFK44yBNjRqKr+rLfOJdOpelnM9JLAlmlrc5DHoOdmPfT1pluZk2dBAM5nzFF8TZ ZOlg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=JDztIDUM; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-79147-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79147-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id gs30-20020a1709072d1e00b00a3e433eed92si6017932ejc.320.2024.02.23.12.56.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Feb 2024 12:56:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-79147-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=JDztIDUM; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-79147-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79147-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 75CF21F23ABA for ; Fri, 23 Feb 2024 20:56:19 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0120114AD35; Fri, 23 Feb 2024 20:55:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JDztIDUM" 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 674571482E7 for ; Fri, 23 Feb 2024 20:55:37 +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=1708721738; cv=none; b=N+CSZpL2HlT26SKJOchMPO5O+7gHNSoOm/JAPbgPbMn8qSN+kbyhpXEP2SMzKARy0o05g/kGuDqdqPr/k5ZrSuIoa8uVztY14TIEUEM+UiPTwzkJEo7gxzj8PHI/L+Xdgh96mSDWZ+zXoEcP9LJb/XHE++WxU0NwDrpGsAeYlkU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708721738; c=relaxed/simple; bh=1gKonBQkHb/HxNH0cWOVYXamRfmS4ibjq2hXF1LjSXM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jUMrPDfxa/hQt/0+UU/1Z0HdIQPcuW7ljbo7hT0gX0uvBrUZLZDeBdV9xB82Z2CYHvJ14dee8pGRxu4XmlCNuMG7s6ALDoptOccFh/O5afUcWoV9wxnqIB82hUAbaksD30CdCp3IO4aKugexILKDF2nmDc0TtthciFs71LBDY6A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JDztIDUM; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id C8180C433C7; Fri, 23 Feb 2024 20:55:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1708721737; bh=1gKonBQkHb/HxNH0cWOVYXamRfmS4ibjq2hXF1LjSXM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JDztIDUMIf1uQI3wEPns47jCdJLcgDmWlGKrDDrzZPfvjYREA206ffnpHXWjr8NoN 1E1L3M677M9HaICSVu7GqwVPSS0gBAJkgule8HcadYMs8pialTn+Oo59lqQIw+vNwt jlouFmp59ZghxaJN2TnlEmF9erPZoJdfJL1XuhrJta4b4DScZ/tzkwLJpZkDE6I535 CD13j4vOBtp9MiZRkcEfbc55lmB4jw/WP7M+TGrHxTipMhogw6jCdTPeHtSXsj5Px7 EFFF6vjgT6aRfcTQ6HtUXZSNtISV958zN2YFFGwIb9ps1emAkvT8ilyeI18ouCpGSW RDSSuPrZGO9AQ== From: Jaegeuk Kim To: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Cc: Jaegeuk Kim Subject: [PATCH 2/5] f2fs: fix write pointers all the time Date: Fri, 23 Feb 2024 12:55:32 -0800 Message-ID: <20240223205535.307307-2-jaegeuk@kernel.org> X-Mailer: git-send-email 2.44.0.rc0.258.g7320e95886-goog In-Reply-To: <20240223205535.307307-1-jaegeuk@kernel.org> References: <20240223205535.307307-1-jaegeuk@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791724649291206756 X-GMAIL-MSGID: 1791724649291206756 Even if the roll forward recovery stopped due to any error, we have to fix the write pointers in order to mount the disk from the previous checkpoint. Signed-off-by: Jaegeuk Kim Signed-off-by: Jaegeuk Kim Reviewed-by: Chao Yu --- fs/f2fs/recovery.c | 2 +- fs/f2fs/super.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/f2fs/recovery.c b/fs/f2fs/recovery.c index b3baec666afe..8bbecb5f9323 100644 --- a/fs/f2fs/recovery.c +++ b/fs/f2fs/recovery.c @@ -913,7 +913,7 @@ int f2fs_recover_fsync_data(struct f2fs_sb_info *sbi, bool check_only) * and the f2fs is not read only, check and fix zoned block devices' * write pointer consistency. */ - if (!err && fix_curseg_write_pointer && !f2fs_readonly(sbi->sb) && + if (fix_curseg_write_pointer && !f2fs_readonly(sbi->sb) && f2fs_sb_has_blkzoned(sbi)) { err = f2fs_fix_curseg_write_pointer(sbi); if (!err) diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 2e41142d07c0..4d03ce1109ad 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -4673,7 +4673,7 @@ static int f2fs_fill_super(struct super_block *sb, void *data, int silent) * If the f2fs is not readonly and fsync data recovery succeeds, * check zoned block devices' write pointer consistency. */ - if (!err && !f2fs_readonly(sb) && f2fs_sb_has_blkzoned(sbi)) { + if (!f2fs_readonly(sb) && f2fs_sb_has_blkzoned(sbi)) { err = f2fs_check_write_pointer(sbi); if (err) goto free_meta; From patchwork Fri Feb 23 20:55:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaegeuk Kim X-Patchwork-Id: 205671 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp839469dyb; Fri, 23 Feb 2024 12:56:28 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCV4qDMt9oUP7bg1lFe28kK1MCHo4UqLnyUm/pw+hlNMwZyDXug7FOcl4YDDMBlUJ0XETD/17IYdt/sGCNdncN8osD9DhA== X-Google-Smtp-Source: AGHT+IGANbE3ywb5lo5TgagpVLTWuqohYd6XGG4QGFh9UnJxu7b9KF4sgg0iIZuG8/3hU6Jg9buw X-Received: by 2002:a05:6402:1289:b0:565:8288:17a1 with SMTP id w9-20020a056402128900b00565828817a1mr663009edv.35.1708721788466; Fri, 23 Feb 2024 12:56:28 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708721788; cv=pass; d=google.com; s=arc-20160816; b=TT6PqtWVrGQZjDFoq7GZ5b4veQeIJWJYYu/wTDcfblnn7IArGZUYvQ5DPMIsZ+MkvW 9NH1R+Zx1DVzn76mbieUioo0eymOC8HKB7abN0unVcZXenRy4PneDadn4OefuNq+An0r +w1i4dzjKf29LutepG9sGdzH11GJGY8MysfSvyN2xHLxk0cxuIj64z0v1UYFyEjqxvMl zas/1+NXGGYBGK5LH4mtf7ebWBKLyvsZUmQiTU2sv/+GyJ/TA0RM2qhKH+sSi9nPm9Nz TzdACacFRGdJwUoXg8hvE2AxuHpmsFFd8aKOazahn3rpXkZszO4Q6+UvtzV7cQ/4Lozg KOkA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=D7XUHBVG5VP8tTRX82JAqat+7CnBaGyL6YGkNS+felE=; fh=rqHW7NazYv3wAmgqDKAbZUXWTmf0VaM5epB9R4zfTUE=; b=NzNUSc2KFab1iEX1yx/rPOpMfW6RCVOnauxUChB2t3oT0VjyVVndKgHz0vQ4LxL/eY Ab4+d5vo5149G09+otxr6mEIUqkFbFl/oZLgoY1hulFKl4PfOOtEBTLgrBs9o9fzHkRZ 5drGBkPS4EFcZkKQYTU08eIZFQRf3j2AVfoCDS1T/zSQNgM5JNyyouJ4j1zd95FVTFKI eJCy7p3cREo0LCZvEjv+EYAGjMX5MLdmu/gW4fnHq5h+e/IpImV3W1OxS2jEx/o5mFku BLDG+zuLAX8h0EuUrIgoOLe5mQwsaxdhYzk8DH46kLPkcMz7tE/XUhrfykJuTm49nwr+ kUGQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=LRpvbscO; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-79148-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79148-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id k5-20020a056402340500b005639387d422si6507768edc.47.2024.02.23.12.56.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Feb 2024 12:56:28 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-79148-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=LRpvbscO; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-79148-ouuuleilei=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79148-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 19BE11F23AAF for ; Fri, 23 Feb 2024 20:56:28 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 74EF114CAB3; Fri, 23 Feb 2024 20:55:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="LRpvbscO" 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 D1A5E148FE2 for ; Fri, 23 Feb 2024 20:55: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=1708721738; cv=none; b=qf/9pg950SU+rGsMMgp6NLnrgGjonbfOiWyJF04qemOmd1qx1+yYe7+5dEVkmBjpvBEWNT5RJtEPY9IdiLeb12AgqiZNhvO4Hn7FMXm+DCyMS1SFNQD7cbBOrOuuOU9V+gTf36xOFryAdErbVrAmuwoM+yOH60LLDBM+zNm0w2k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708721738; c=relaxed/simple; bh=R/vfhqy/4C7K0V3VZuGnVkSeQBgr0Z+xmB/Uvgm51/A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PbOe7YV82qZlrVbmvlkso1Ulbot1WUhM3k+gbfXmXobvH81IVwXmy8JtEuYR7IBjTxlMa39ROow3q6ok7ukm43jOcnCmX8cp4ImJD1RJiEVTkIg/F8y4cO2/uc4xuKSdKU1EvM0Q0yrbTLRrBtq5x/0Hejxt5YkMJ5oJ4wTzamQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LRpvbscO; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9C9C0C433C7; Fri, 23 Feb 2024 20:55:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1708721738; bh=R/vfhqy/4C7K0V3VZuGnVkSeQBgr0Z+xmB/Uvgm51/A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LRpvbscO7LXmmXBcarD3+VMukyWgtYq/6MbNM+YJxM44f1d3Zscji2NmhPWQqhtO4 8G24rwNuhd1Xrlv6Q6TwY6VPOglTLsMbZMuVRC63y4lAMgbaRtGbrC84e6szyRKYoh KSs3yaxKLEHKui4pzYmwLNARtBc7KNrBUqaRhDjXnKdNCSyjxkU7FMrxbpszmpjTUJ 6HGt1x6ruljOlk2VymQbuYzArXoMHqFDTZ36z/hueyDxP4xn8xMWruGMM/R0MqGzRr JQawne3K20bKzxEwvRqL9WoPAqLsCUXV1yWZf1k4RLj807ar9hwUhNDhYa5YsGqcT4 Sy3tqAPGcTKnA== From: Jaegeuk Kim To: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Cc: Jaegeuk Kim Subject: [PATCH 3/5] f2fs: print zone status in string and some log Date: Fri, 23 Feb 2024 12:55:33 -0800 Message-ID: <20240223205535.307307-3-jaegeuk@kernel.org> X-Mailer: git-send-email 2.44.0.rc0.258.g7320e95886-goog In-Reply-To: <20240223205535.307307-1-jaegeuk@kernel.org> References: <20240223205535.307307-1-jaegeuk@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791724658448444081 X-GMAIL-MSGID: 1791724658448444081 No functional change, but add some more logs. Signed-off-by: Jaegeuk Kim Reviewed-by: Chao Yu Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim --- fs/f2fs/segment.c | 34 ++++++++++++++++++++++++---------- fs/f2fs/super.c | 1 + 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index d4f228e6f771..6d586ae8b55f 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -4912,6 +4912,16 @@ static int sanity_check_curseg(struct f2fs_sb_info *sbi) } #ifdef CONFIG_BLK_DEV_ZONED +const char *f2fs_zone_status[BLK_ZONE_COND_OFFLINE + 1] = { + [BLK_ZONE_COND_NOT_WP] = "NOT_WP", + [BLK_ZONE_COND_EMPTY] = "EMPTY", + [BLK_ZONE_COND_IMP_OPEN] = "IMPLICITE_OPEN", + [BLK_ZONE_COND_EXP_OPEN] = "EXPLICITE_OPEN", + [BLK_ZONE_COND_CLOSED] = "CLOSED", + [BLK_ZONE_COND_READONLY] = "READONLY", + [BLK_ZONE_COND_FULL] = "FULL", + [BLK_ZONE_COND_OFFLINE] = "OFFLINE", +}; static int check_zone_write_pointer(struct f2fs_sb_info *sbi, struct f2fs_dev_info *fdev, @@ -4928,18 +4938,22 @@ static int check_zone_write_pointer(struct f2fs_sb_info *sbi, zone_block = fdev->start_blk + (zone->start >> log_sectors_per_block); zone_segno = GET_SEGNO(sbi, zone_block); + /* + * Get # of valid block of the zone. + */ + valid_block_cnt = get_valid_blocks(sbi, zone_segno, true); + /* * Skip check of zones cursegs point to, since * fix_curseg_write_pointer() checks them. */ if (zone_segno >= MAIN_SEGS(sbi) || - IS_CURSEC(sbi, GET_SEC_FROM_SEG(sbi, zone_segno))) + IS_CURSEC(sbi, GET_SEC_FROM_SEG(sbi, zone_segno))) { + f2fs_notice(sbi, "Open zones: valid block[0x%x,0x%x] cond[%s]", + zone_segno, valid_block_cnt, + f2fs_zone_status[zone->cond]); return 0; - - /* - * Get # of valid block of the zone. - */ - valid_block_cnt = get_valid_blocks(sbi, zone_segno, true); + } if ((!valid_block_cnt && zone->cond == BLK_ZONE_COND_EMPTY) || (valid_block_cnt && zone->cond == BLK_ZONE_COND_FULL)) @@ -4947,8 +4961,8 @@ static int check_zone_write_pointer(struct f2fs_sb_info *sbi, if (!valid_block_cnt) { f2fs_notice(sbi, "Zone without valid block has non-zero write " - "pointer. Reset the write pointer: cond[0x%x]", - zone->cond); + "pointer. Reset the write pointer: cond[%s]", + f2fs_zone_status[zone->cond]); ret = __f2fs_issue_discard_zone(sbi, fdev->bdev, zone_block, zone->len >> log_sectors_per_block); if (ret) @@ -4965,8 +4979,8 @@ static int check_zone_write_pointer(struct f2fs_sb_info *sbi, * selected for write operation until it get discarded. */ f2fs_notice(sbi, "Valid blocks are not aligned with write " - "pointer: valid block[0x%x,0x%x] cond[0x%x]", - zone_segno, valid_block_cnt, zone->cond); + "pointer: valid block[0x%x,0x%x] cond[%s]", + zone_segno, valid_block_cnt, f2fs_zone_status[zone->cond]); ret = blkdev_zone_mgmt(fdev->bdev, REQ_OP_ZONE_FINISH, zone->start, zone->len, GFP_NOFS); diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index 4d03ce1109ad..fc7f1a9fbbda 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -4674,6 +4674,7 @@ static int f2fs_fill_super(struct super_block *sb, void *data, int silent) * check zoned block devices' write pointer consistency. */ if (!f2fs_readonly(sb) && f2fs_sb_has_blkzoned(sbi)) { + f2fs_notice(sbi, "Checking entire write pointers"); err = f2fs_check_write_pointer(sbi); if (err) goto free_meta; From patchwork Fri Feb 23 20:55:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaegeuk Kim X-Patchwork-Id: 205673 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp839843dyb; Fri, 23 Feb 2024 12:57:36 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCX1htjWRIhu9W3PwnV4bldDfMyWWZLVHk3N9Tg11ph6AMiUeyDAubyseSD9W2fOBUb3zkLeFIAew2yUeuJWyOZFyetUJA== X-Google-Smtp-Source: AGHT+IF6Q7YUK3ptbGItRMh8nCuCVgMJdRXlXksWodOynNIg8bW9oceDVkpJOKyUOFl16LP2xntm X-Received: by 2002:a17:902:8494:b0:1db:729a:e2a0 with SMTP id c20-20020a170902849400b001db729ae2a0mr849200plo.47.1708721856430; Fri, 23 Feb 2024 12:57:36 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708721856; cv=pass; d=google.com; s=arc-20160816; b=buRZqTGTuDo6q1z24zwpN5v/bnexMjBY+vpusVP4cmLA45Oiy71PiOukpOuhDKsU63 X2KFkO3ie9/6M3beAKc7Px7unbPwHetXMQIOd+gI9FtgaPz3RKuBkTqXQX9zZb9OmTnY rOhXXu5tKOsXqzDw54cUEI0Xwzo6k8wIAnsT7YKA6GsqmwD+w7J8Y/ohYgqGSp6G1AvU bp8X8ViJ7+hctwQYpMC1BWGNhsj8abnT8uZw1OWwxP31dp99/exUjgojZRic+1qye1NZ z0hALPGtVf/lhGyKkJiYbNx8fHYgB/cmrtFkiZWUq0Xfx0RyEhgvdaE7n/w9B2kQvKeQ Gpzg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=LY4nb6aO4XFI9t4oJbOKO3rOm7VYOQsfpcV4tt+nqqk=; fh=rqHW7NazYv3wAmgqDKAbZUXWTmf0VaM5epB9R4zfTUE=; b=mNyElNzs9qsIuAjUc/FnL1PwjQ0XHszroLfYJzapKJeilPbFvCHtgNrriFS4zIwgqP XW0n4lvSQcPjAEVlV5WRmF9fIXOLrgZaYLKYh2n8mwhh7KeoVzOgTwK6Y8mTcDknbHr9 /YfGDov8QWTpXbOYQYi9iVMAv0RHjx8nHBWOn0VjhMjazL2Pw6F0z2VV0v7W+NEK1Tz5 v65O0F5X8SRNNnZv2yJPGj6Hku7UK1nDe26MMKhcjFOsRK1QFJMUHDmldhZBnvmcMumC GoKNbYp2yzMyP3DkPDdLdoPc+cYTjFCh9iJY4cCwVNB6nWgtB+32FhW5sQ1T9q7h9FYO 3ccw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=SB3mQtoL; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-79149-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79149-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id j13-20020a170902da8d00b001db6f2bec7csi13084127plx.236.2024.02.23.12.57.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Feb 2024 12:57:36 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-79149-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=SB3mQtoL; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-79149-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79149-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 44C8CB21837 for ; Fri, 23 Feb 2024 20:56:43 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 9598614CADB; Fri, 23 Feb 2024 20:55:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SB3mQtoL" 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 040E91493A5 for ; Fri, 23 Feb 2024 20:55:39 +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=1708721740; cv=none; b=aQFyQrUfWanjbrWBWexrfaL8swIWBuok9+pxqvbXxp2AAIUe6unGi2IguTHOMxW6zuT7IxSX4HJ8GmyG4d2zEVZ7YOz9QCATuxJxJ2GXUtp0HTn3URXcWqFflmhxUwmXTDsPmlNg4eW7BNkmrxbER8eTf29o1/QGlJp4hCNZFac= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708721740; c=relaxed/simple; bh=jcqHB3mOguQlmJS0WZkHNVvEJ+LlBmJIQaxT0/mGi48=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ec05xRK3rHK0TZndzZhr4ZhB2Wnr2EPXs8i4sPiIzPjO7fkJcI2A2+oiVQ3hXjssX9YkVM7l5eBPe93yUDih9XfYEBX0O+B3jPaUQ8EtdNfbzqw81999R5BSEMj6nDuVc4/JQlypaqQblt8H5jvfKtlQrHTa55Ybpu5cCTwq15w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SB3mQtoL; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6D6DAC433F1; Fri, 23 Feb 2024 20:55:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1708721739; bh=jcqHB3mOguQlmJS0WZkHNVvEJ+LlBmJIQaxT0/mGi48=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SB3mQtoLjZc3slFBxMQrc1O4HtbEMqzWJ/jBNTuPg46FWdAFrTsuEr3EkozkldcV0 qAaO6BTlVNGrYTROIXCN2Amj4mabG7qG2YHN1PAAzYoipn5o5eQUStaR1qZA7rAGeQ jOBs1vmnQXSZ11t341fROSPlKCIb0rk8Xnpu02UC8vzTHnNXzye9LrSr5wuSrq/dVE m3D7HdmqSzsJiRwuLbNCeGxKvCAB6R4c1m878ohP4rQso5/gjLA8hX/Gc84Jdm639T uaZ/L0JUYTkQvgMfOw4hhZ9ZyTy/QHhGl2/oTZ/FCRK/J/cqy/0cBhrUq3Dm8cdQLn 0Kdk/h96tmGbQ== From: Jaegeuk Kim To: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Cc: Jaegeuk Kim Subject: [PATCH 4/5] f2fs: prevent an f2fs_gc loop during disable_checkpoint Date: Fri, 23 Feb 2024 12:55:34 -0800 Message-ID: <20240223205535.307307-4-jaegeuk@kernel.org> X-Mailer: git-send-email 2.44.0.rc0.258.g7320e95886-goog In-Reply-To: <20240223205535.307307-1-jaegeuk@kernel.org> References: <20240223205535.307307-1-jaegeuk@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791724728929745464 X-GMAIL-MSGID: 1791724728929745464 Don't get stuck in the f2fs_gc loop while disabling checkpoint. Instead, we have a time-based management. Signed-off-by: Jaegeuk Kim Reviewed-by: Chao Yu Reviewed-by: Daeho Jeong --- fs/f2fs/super.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c index fc7f1a9fbbda..7d9b92978709 100644 --- a/fs/f2fs/super.c +++ b/fs/f2fs/super.c @@ -2191,6 +2191,7 @@ static int f2fs_disable_checkpoint(struct f2fs_sb_info *sbi) .init_gc_type = FG_GC, .should_migrate_blocks = false, .err_gc_skipped = true, + .no_bg_gc = true, .nr_free_secs = 1 }; f2fs_down_write(&sbi->gc_lock); From patchwork Fri Feb 23 20:55:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaegeuk Kim X-Patchwork-Id: 205672 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:a81b:b0:108:e6aa:91d0 with SMTP id bq27csp839630dyb; Fri, 23 Feb 2024 12:56:56 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVfvOzoJi2I3zcuFXCAWy+LF92WSWJemldvdoLqCOcmKFpozsoML+5pRqngSOY0Dn9+I+aUjjGznZMTE0AqLkhJ/kVK9A== X-Google-Smtp-Source: AGHT+IEIKA3jPYj7yHbFOO5DjcTbYO7SlIhl8O5Qxlwxd0QvluG2izmB7OXVkDDPHK0dXo2+9thx X-Received: by 2002:a17:906:16d2:b0:a3e:6aff:5e74 with SMTP id t18-20020a17090616d200b00a3e6aff5e74mr627633ejd.22.1708721815925; Fri, 23 Feb 2024 12:56:55 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708721815; cv=pass; d=google.com; s=arc-20160816; b=tnr6dBcjbjRQJbdzBGX07aFL15AOnwgsXaroXyrS3d6LAjkr9AZv1hMpinCBElv4+c WRfJQwfgtrY0f0vEyQB5nhf/69x9Zj4JwKN9Qzw+IXs7XdPmLv0tqE6JkzTVU3w2cn1V ccA/24THxUJGzv5FovNndNAroxgWxSuB5jWy24bFPyo5nOEs2lO0qUWI8BEhghvkfp7t o2dQwdS1QDofa22979jxmhbI22RzLVIUQbMyVjgHOXqkRPX7QNa3N8gdI9aJyPtqd/2/ EZWPV+YoUwqWW+G+jnnANh+c8dyRYKaUmANIlk6btTust8/N10zLB9h0Wo5aN2CWTRnA mB8w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=KEK4PKZpiKuqikEuPIITFI5x9Ipginm3gnaq5OfdLpo=; fh=rqHW7NazYv3wAmgqDKAbZUXWTmf0VaM5epB9R4zfTUE=; b=yTT/qBR4oMO4axb29HKIT2BQArpUlxFjco8h7UXhaxL5ya8C3zaLYYPSQRhXH9+Mux GYTvSKJe8ypjYEvtNhpYG/Bt4kMX27TNRE517crJp3ItqjL4PFERyO4AIAov/j287deh mC7T25dIWsylozNOuMqWCW4dumItx1DjEI7ipGTJaq42O8U1ZeF8AvZcfZC4pwAXIPsU izKn7Uie2NXGyJPnXh1qhzzf/DNSOQwLaJr6MZ+es1t7sOmwtZaae5+YHOkP/Hs1FKd8 eJ/p197Z2J+6K4kq1DaHTT/4wYnxh/EEBCSpc3L/z0WvqnIU4EPOSc2l8HE0pHzy5o5a B0eQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=hmh02COf; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-79150-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79150-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id p24-20020a170906229800b00a3e3bba74absi5994073eja.833.2024.02.23.12.56.55 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Feb 2024 12:56:55 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-79150-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=hmh02COf; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-79150-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-79150-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 866A41F2141E for ; Fri, 23 Feb 2024 20:56:55 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3ED0414DFC1; Fri, 23 Feb 2024 20:55:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="hmh02COf" 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 AF3841DDC3 for ; Fri, 23 Feb 2024 20:55:40 +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=1708721740; cv=none; b=ks7f7+Bd60gLyADcdFd5rjB6t9ZQgqvEEKQq7vt6JI/Wdo+m8WcIdGDexCo0MwReJpWWm7Kyp4eEajdTb0HipuwHvISCZe+fj3FySeGmW87IMp/Nj9eX8Tuiv0HpUQLY6qIboquKmkmApth0rW7Y0W00FJ0HEMu4Qm6fIHXyBoM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708721740; c=relaxed/simple; bh=Dks7ZYdpho4cTIrGeKroPJwikwZpUsV1Ym/LDVuEhMY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aWeebP0C4O0Coc465eSPgr5yZvered3QWVyiIAuAVZrS46XVwPVdL+XsjUynnAhiNXxsur7il3auPsEQebCbuoMqlj+Z9M2rhNCp974DsE7V/nFabpvW2kvKMflKtLsYn0WUjYYatd3fYvSaVGDOcPiQ0aSs9uxk5C7LLAP7pto= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=hmh02COf; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 351D1C43390; Fri, 23 Feb 2024 20:55:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1708721740; bh=Dks7ZYdpho4cTIrGeKroPJwikwZpUsV1Ym/LDVuEhMY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hmh02COfYfzXOAY/wQfnzDRk4Ol3gGYIn1gDcG02Bf2LrYPE/K1cx7LX/SVL2WF9Y WqtEQE8K4EUTV2MyulSisJi14ElRtimAP1qCg6blP4+VPLcEwhbntU9XTDIWE/O1uo 5lUk4hBsmPYcD6+EtNZWUM12c0f53Af/Wqjv6SyFL+PV0rqTv30oxOySWjpKKJJFlb rKjLFIb9CQXbR8X0t/AlGQCS5xV28QufjgyMHagNp6LWXie1aXQR5TuaDqINBkqCrR ToQ3A0XaoLjbIBW1jxCWMyUBzQW/LHF72Vvv1eMGAY5df4w/yuz5kj/kgyGhoyltk3 j410fPAfilfUA== From: Jaegeuk Kim To: linux-kernel@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net Cc: Jaegeuk Kim Subject: [PATCH 5/5] f2fs: allow to mount if cap is 100 Date: Fri, 23 Feb 2024 12:55:35 -0800 Message-ID: <20240223205535.307307-5-jaegeuk@kernel.org> X-Mailer: git-send-email 2.44.0.rc0.258.g7320e95886-goog In-Reply-To: <20240223205535.307307-1-jaegeuk@kernel.org> References: <20240223205535.307307-1-jaegeuk@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1791724686707588223 X-GMAIL-MSGID: 1791724686707588223 Don't block mounting the partition, if cap is 100%. Signed-off-by: Jaegeuk Kim Reviewed-by: Chao Yu Reviewed-by: Daeho Jeong --- fs/f2fs/segment.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 6d586ae8b55f..f11361152d2a 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -904,6 +904,9 @@ int f2fs_disable_cp_again(struct f2fs_sb_info *sbi, block_t unusable) { int ovp_hole_segs = (overprovision_segments(sbi) - reserved_segments(sbi)); + + if (F2FS_OPTION(sbi).unusable_cap_perc == 100) + return 0; if (unusable > F2FS_OPTION(sbi).unusable_cap) return -EAGAIN; if (is_sbi_flag_set(sbi, SBI_CP_DISABLED_QUICK) &&