From patchwork Wed Mar 12 07:23:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 14013019 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 643CE2F44 for ; Wed, 12 Mar 2025 07:23:22 +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=1741764202; cv=none; b=ay429hXxAVR8XD+A+F/WxDp7szcikIxn/+g6RuCW63axngXZR9i3KHaj8Il37D0t12mZ55Bj6rNVUQajHi7uPb3zjHu/nbI8rjJbAJ2wjyhmgmRD/luqeVn3a3C7EBosicgbN2Hzs/WHL4dc1XBsFYGumyMlEXfXFLOJmwyN/ZE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741764202; c=relaxed/simple; bh=9abPyMZNZpjPTxRIU3EzPNArc5vpHFGSWM5BVeufFRg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=pfesdAq3YcyTTO9sh+0QLmItHz/ktwRUDOj1KuK35rioh8NVvv3lSJa8N0FgWZfRpjP61SIrV94VGzeZvIso5CmPs9Nc155wkXXx1kZAP7S56qcLv6ycRF9Y4q2N5fmZ6gqwGyPLUQA/tG2AMSQnQqDxLKZ98ik+3pkQvuVM4sc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=d6QZGkcl; 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="d6QZGkcl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6112AC4CEE3; Wed, 12 Mar 2025 07:23:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741764201; bh=9abPyMZNZpjPTxRIU3EzPNArc5vpHFGSWM5BVeufFRg=; h=From:To:Cc:Subject:Date:From; b=d6QZGkcl6FrYC0x5IR/QnBN3Khm4QmTVV9fTPj+U7niP3tVrqoG90TmwBvesvXGEu gbWlI2cv5cT59sKr5wVdKoA3lJ63fCrYimD6HWm0AduGp7eolbHkU9Nu/3WcCPXVeR nMLPWCDaarpXuybATDIKHchA2tzylc9x4L7tSfmWwMgWPzB99CiCWo7K7VRbc7WEiw QgStTSsfZUF7/wFHsAS2jSBdWGyEowXglkw1O5AovhLDMv6WqYtvqFaqB3JR39C1pv AUQCpEgI6ohftOdoquHSRPXrG9mNhQhiXvet2WWiyPwm//yVispOhs0RWY2XQSRBSr hqND1wD3viifw== From: Chao Yu To: Zorro Lang , fstests@vger.kernel.org Cc: jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net, Chao Yu , David Disseldorp , Zorro Lang Subject: [PATCH v4 1/6] common/config: remove redundant export variables Date: Wed, 12 Mar 2025 15:23:04 +0800 Message-ID: <20250312072309.3989074-1-chao@kernel.org> X-Mailer: git-send-email 2.49.0.rc0.332.g42c0ae87b1-goog Precedence: bulk X-Mailing-List: fstests@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 F2FS_IO_PROG and TIMEOUT_PROG are exported twice, remove the redudant one. Cc: Jaegeuk Kim Reviewed-by: David Disseldorp Signed-off-by: Zorro Lang Signed-off-by: Chao Yu --- common/config | 2 -- 1 file changed, 2 deletions(-) diff --git a/common/config b/common/config index 2afbda14..aa525825 100644 --- a/common/config +++ b/common/config @@ -191,7 +191,6 @@ export XFS_COPY_PROG="$(type -P xfs_copy)" export FSTRIM_PROG="$(type -P fstrim)" export DUMPE2FS_PROG="$(type -P dumpe2fs)" export RESIZE2FS_PROG="$(type -P resize2fs)" -export F2FS_IO_PROG="$(type -P f2fs_io)" export FIO_PROG="$(type -P fio)" export FILEFRAG_PROG="$(type -P filefrag)" export E4DEFRAG_PROG="$(type -P e4defrag)" @@ -220,7 +219,6 @@ export UBIUPDATEVOL_PROG="$(type -P ubiupdatevol)" export THIN_CHECK_PROG="$(type -P thin_check)" export PYTHON3_PROG="$(type -P python3)" export SQLITE3_PROG="$(type -P sqlite3)" -export TIMEOUT_PROG="$(type -P timeout)" export SETCAP_PROG="$(type -P setcap)" export GETCAP_PROG="$(type -P getcap)" export CAPSH_PROG="$(type -P capsh)" From patchwork Wed Mar 12 07:23:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 14013020 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 EACB92F44 for ; Wed, 12 Mar 2025 07:23:23 +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=1741764204; cv=none; b=arvS6AatMHulbc0GPJaKGnpiSs6xr6/EA8OrCxirXZSI4SaWsAYu9W79wYj9RDpgba/sw26dvtO4qHmfPNWLH7A6yMgZYyGFKw4qDDD68rsf6+Y/17baZQ/78jr3+epaHMP8NUAmWzQ0m0tB28QEwFZielxb1GXfWk5Cl0b6smM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741764204; c=relaxed/simple; bh=ZjQBCbVNJ2p7dPP/EufdPPhi1TlsTlE8Tg2dAj0UrIE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=f8DYI+MCOV4u0H98gPKD9yYJpfP4S4C9RxZZ7XbhKHhp4J0FunDCCQOzrWNu43EYEWYRv4SlSX2ENFQitZdx/N+jNmHZMbRt7Vqt2KmpWFx+9+4I89bvz8GUFICYppC5uEWFqaOuLbujgVv/Xh6P1kjx3Z+40YH+TorNQDuNLWQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=tEcthYLT; 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="tEcthYLT" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 510C3C4CEEA; Wed, 12 Mar 2025 07:23:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741764203; bh=ZjQBCbVNJ2p7dPP/EufdPPhi1TlsTlE8Tg2dAj0UrIE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tEcthYLTFarRzRpboTGmFuBf9HI32xOrBtr2u+ZzoW53cmysUW7SBUnGQ2va508kr 5mOGfOnrcfCu66dM9aH3blbV8itS/V2C/xiwX3vcmcrAs1puZHrwUPdiwwBv9k+37E FZmEEsfng89tG/he10sRY4eDjUvuB5a/b/U2pl4bJ1nMkcrKPx06UUXjHeAyWF7wPk KQW9IDmmctAIgcgRb66AfAfEYWZmTih3eQxSlmiuNLG1uRXcSjqyLHOXr5fbmoZz48 e7hl0DvgRS6HPQgwMzUSsx+rzhg7fyn5+FSLERETCTjve2mUymRceup6zF54ojamyr +0L0euQnhNajA== From: Chao Yu To: Zorro Lang , fstests@vger.kernel.org Cc: jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net, Chao Yu , David Disseldorp , Zorro Lang Subject: [PATCH v4 2/6] common/config: export F2FS_INJECT_PROG Date: Wed, 12 Mar 2025 15:23:05 +0800 Message-ID: <20250312072309.3989074-2-chao@kernel.org> X-Mailer: git-send-email 2.49.0.rc0.332.g42c0ae87b1-goog In-Reply-To: <20250312072309.3989074-1-chao@kernel.org> References: <20250312072309.3989074-1-chao@kernel.org> Precedence: bulk X-Mailing-List: fstests@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 export F2FS_INJECT_PROG w/ inject.f2fs, it can be used for fault injection. Cc: Jaegeuk Kim Reviewed-by: David Disseldorp Reviewed-by: Zorro Lang Signed-off-by: Chao Yu --- v4: - no changes common/config | 1 + 1 file changed, 1 insertion(+) diff --git a/common/config b/common/config index aa525825..7d017a05 100644 --- a/common/config +++ b/common/config @@ -316,6 +316,7 @@ export MKFS_BTRFS_PROG=$(set_mkfs_prog_path_with_opts btrfs) export MKFS_F2FS_PROG=$(set_mkfs_prog_path_with_opts f2fs) export DUMP_F2FS_PROG=$(type -P dump.f2fs) export F2FS_IO_PROG=$(type -P f2fs_io) +export F2FS_INJECT_PROG=$(type -P inject.f2fs) export BTRFS_UTIL_PROG=$(type -P btrfs) export BTRFS_SHOW_SUPER_PROG=$(type -P btrfs-show-super) export BTRFS_CONVERT_PROG=$(type -P btrfs-convert) From patchwork Wed Mar 12 07:23:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 14013021 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 28D912F44 for ; Wed, 12 Mar 2025 07:23:25 +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=1741764206; cv=none; b=kP8kIt7NvzA35/upFrgZcTMQdplyqj0fpqTwFgcG31egdZZSrdAiLgIolIfoRGCRMnp068MroIDSKnlWQqb9BjtyvR+O8ap4wJA/F7zM7FPc42PvltfJ5tWNRtQzoylEGXo3ZnIZwpQyuAdLP5xiFmPUsT5Dw3ap6lotUlRkN+w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741764206; c=relaxed/simple; bh=q00hiySpvhpXJYh+xrABq/hBgwJTyFyvPK4VSBpvgqA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=loFVeM+hBC6PGRToGRuh/MJ3uFxNPfQBdbeyBS0pWBHKPBRv+RQsFQAApSRARmH9wKtSj9mcATNEHMhXxrJs3Zll92DdactER9er61cl3oPzArFnMVZVo9cyq4Ws3ng6c+fUnrMDIry1yzqB+C61HIsU4VM/F0hmuJhBOzod9pU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=h/QUBTOB; 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="h/QUBTOB" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F38EC4CEEF; Wed, 12 Mar 2025 07:23:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741764205; bh=q00hiySpvhpXJYh+xrABq/hBgwJTyFyvPK4VSBpvgqA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=h/QUBTOB5FODJqVSRUlgf/zrfZSgVH173w4GXnvTibnBIrjC30fU3CxgJTuFu4DQn k3A+fWHkOyDqtz7WyAK5Cz1v5mHzOWcvXrpRbwjoHnDMzbyJfotgzX4BBE/+BQUYa/ /jeJxK4zSn3K8NbZuX5INgaE4YByw40SueyiQnuYbu7jAbSEpdUvEiTw6fJaiHnXv+ RdgzmYuTmKqFlNuUd96jwdP/s/gCzfboIdxp70v3ahQN10EaTSPxudxeq86t/U7IsI VWt69Q9Ecw0UNGsZrCJDqxPzeFVuO/w/Av4VnD3lm831hQ1wu3TZKiaWnRInh9jjFH Fxl/YCoXFg1Bg== From: Chao Yu To: Zorro Lang , fstests@vger.kernel.org Cc: jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net, Chao Yu , Zorro Lang Subject: [PATCH v4 3/6] common/config: export F2FS_FSCK_PROG Date: Wed, 12 Mar 2025 15:23:06 +0800 Message-ID: <20250312072309.3989074-3-chao@kernel.org> X-Mailer: git-send-email 2.49.0.rc0.332.g42c0ae87b1-goog In-Reply-To: <20250312072309.3989074-1-chao@kernel.org> References: <20250312072309.3989074-1-chao@kernel.org> Precedence: bulk X-Mailing-List: fstests@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Let's export F2FS_FSCK_PROG, then we can use it in _check_f2fs_filesystem() later. Cc: Jaegeuk Kim Reviewed-by: Zorro Lang Signed-off-by: Chao Yu --- v4: - no changes common/config | 1 + 1 file changed, 1 insertion(+) diff --git a/common/config b/common/config index 7d017a05..79bec87f 100644 --- a/common/config +++ b/common/config @@ -317,6 +317,7 @@ export MKFS_F2FS_PROG=$(set_mkfs_prog_path_with_opts f2fs) export DUMP_F2FS_PROG=$(type -P dump.f2fs) export F2FS_IO_PROG=$(type -P f2fs_io) export F2FS_INJECT_PROG=$(type -P inject.f2fs) +export F2FS_FSCK_PROG=$(type -P fsck.f2fs) export BTRFS_UTIL_PROG=$(type -P btrfs) export BTRFS_SHOW_SUPER_PROG=$(type -P btrfs-show-super) export BTRFS_CONVERT_PROG=$(type -P btrfs-convert) From patchwork Wed Mar 12 07:23:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 14013022 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 9669E2F44 for ; Wed, 12 Mar 2025 07:23:28 +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=1741764208; cv=none; b=W7785STgZNmL56n/GjHApdjPNyoLlGbCi4TgLAeE0SikxuJamaMVBBcTAnagpFSAKBbikCdrmLofpwM+raaGR/69P+jXpebVJC1Yl+IfBlEPphcUuiw3FrBFaKKd1ySbwZNhvkmgI2Izbzx0JZjhnGyFALQTASJH490JRsb0i8s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741764208; c=relaxed/simple; bh=cd+rCG/ipnPKChVuIm09pBZmrpsxF9olOrDqMKmbeGw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dpGav5ZLRIWV603xII7a3bwwbmlLr0BZ3hdJ1i97a5a3spT+TCduSEx+L2Qc4oeWvRET6SwqRxZevDDbJE/Bds443P1h6JEjOyRgWFVE9HW3cnNQPAlsNdfcWyH10Zx5KBbEK+V/ZOePH8liCYnhobQmrLjtPo3EJpPopAbJen0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=EOuPcy6z; 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="EOuPcy6z" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0559EC4CEED; Wed, 12 Mar 2025 07:23:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741764208; bh=cd+rCG/ipnPKChVuIm09pBZmrpsxF9olOrDqMKmbeGw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EOuPcy6zA+By6MHxZD982Mg752TlPJh1k5LYgMd3aoyUUKjzZBSVupzrul+LNvRdM GdQP6CksiTpeh8r0NRxyrI7O/UHdpzsfd/vrswST+yS4YFoD0m02iS6JSrzYa73sbW H8skeVykcE03j5Eu+ag+GMQPYJ4MznaabZwDrkMSEiJO47ZVuE5lRzYF3cKX/MqTqb 80mLbs9kBW/cLEXGNv79+9eLavJOZulav/363tXRBbru7CoLlAQt9KTde7xo4SyHSv YZCVf7TLQ2qOj3FYtbEygT5gd//nAycryuMXllbBCaYcTKyNAPVWJf8Ai2eaJzEcIC ao4o/EWlLs9ww== From: Chao Yu To: Zorro Lang , fstests@vger.kernel.org Cc: jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net, Chao Yu , Zorro Lang Subject: [PATCH v4 4/6] common/rc: use -f for mkfs.f2fs by default Date: Wed, 12 Mar 2025 15:23:07 +0800 Message-ID: <20250312072309.3989074-4-chao@kernel.org> X-Mailer: git-send-email 2.49.0.rc0.332.g42c0ae87b1-goog In-Reply-To: <20250312072309.3989074-1-chao@kernel.org> References: <20250312072309.3989074-1-chao@kernel.org> Precedence: bulk X-Mailing-List: fstests@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Otherwise, mkfs will fail due to there is an existing filesystem in the image. Cc: Jaegeuk Kim Reviewed-by: Zorro Lang Signed-off-by: Chao Yu --- v4: - no changes common/rc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/rc b/common/rc index ca755055..23b642f4 100644 --- a/common/rc +++ b/common/rc @@ -993,7 +993,7 @@ _scratch_mkfs() mkfs_filter="grep -v -e ^Warning: -e \"^mke2fs \"" ;; f2fs) - mkfs_cmd="$MKFS_F2FS_PROG" + mkfs_cmd="$MKFS_F2FS_PROG -f" mkfs_filter="cat" ;; ocfs2) @@ -1336,7 +1336,7 @@ _try_scratch_mkfs_sized() f2fs) # mkfs.f2fs requires # of sectors as an input for the size local sector_size=`blockdev --getss $SCRATCH_DEV` - $MKFS_F2FS_PROG $MKFS_OPTIONS "$@" $SCRATCH_DEV `expr $fssize / $sector_size` + $MKFS_F2FS_PROG -f $MKFS_OPTIONS "$@" $SCRATCH_DEV `expr $fssize / $sector_size` ;; tmpfs) local free_mem=`_free_memory_bytes` From patchwork Wed Mar 12 07:23:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 14013023 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 19F442F44 for ; Wed, 12 Mar 2025 07:23:30 +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=1741764210; cv=none; b=b2fKSf8YUqlnT5xNtoU/lXJrJOrZaf3vfna01ifA2gB/Osj8Ld6VVlmOjZjPD0lSPXygB3kCopisBWr9xs7WHYbwF2gG7tUI7DwUsUh+LxZB18TRPmSTdIcR2LtAytWEBI6XyteaP9mOeKHyu6KEGBddS0mb0Dx7PCKc8lLP2ZU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741764210; c=relaxed/simple; bh=rUFbyS396/sAmJoxRgTRC+6vktKpSWiwYEa3MZG65Hs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MB4gJa7KXEOIfLsLiJ3qvMBaZX07nBTvZyouMaqPxESkPT4jZHqqQSh7lJmLVC9OOsKRybxM9iZPHi9Pe/I3NkiRskShm0mvRZX59UyKDzFOMxd43EVZfA/6J3ut05PpUbs1i7ChzbiFf0T/WpdLYvQmdDzJt82rpFzssobQyh8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gCS71Pev; 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="gCS71Pev" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6C42EC4CEEF; Wed, 12 Mar 2025 07:23:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741764210; bh=rUFbyS396/sAmJoxRgTRC+6vktKpSWiwYEa3MZG65Hs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gCS71PevJK9ox8DcOaq2rjd1Y/hplk+iwSQf6DkBKulbfHhBJLr2+HQnOeBnRXglA 8kWB4u7fOFESxlNua6ZmQm5mU9RHC+Az15zkD7VuRBu41B/Mfu38xsXw9cmeRYv2Ye ygayEhAqWwulT7Cr1gegCrIlysP3jdYywW8wUyWOLz/3XYqzHPad1O2UhA00VXYL2K vgLu1hy2cO8SWfUhJQeE1ktJKf9HkHryWis64fKzFNYsuHKl1f6Ky35oIGo4AWCCDk Oqcm8lTkh/KNWSa9OqdSpGNzBfMxUOxtRDrrs/B44ml6CRhHWz/8IZaFlJmQ15jFFD VAqlVtQ19+Z0A== From: Chao Yu To: Zorro Lang , fstests@vger.kernel.org Cc: jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net, Chao Yu Subject: [PATCH v4 5/6] common/rc: introduce _check_f2fs_filesystem() Date: Wed, 12 Mar 2025 15:23:08 +0800 Message-ID: <20250312072309.3989074-5-chao@kernel.org> X-Mailer: git-send-email 2.49.0.rc0.332.g42c0ae87b1-goog In-Reply-To: <20250312072309.3989074-1-chao@kernel.org> References: <20250312072309.3989074-1-chao@kernel.org> Precedence: bulk X-Mailing-List: fstests@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 _check_generic_filesystem() will fail the test once it detects corruption, let's introduce _check_f2fs_filesystem() to just check filesystem w/ --dry-run option, and return the error number, then let caller to decide whether the corruption is as expected or not. Cc: Jaegeuk Kim Signed-off-by: Chao Yu --- v4: - clean up $FSTYP and $FSCK_OPTIONS - dump formated logs to seqres.full once fsck detects the corruption. common/rc | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/common/rc b/common/rc index 23b642f4..43d3fe42 100644 --- a/common/rc +++ b/common/rc @@ -3519,6 +3519,50 @@ _check_generic_filesystem() return 0 } +_check_f2fs_filesystem() +{ + local device=$1 + + # If type is set, we're mounted + local type=`_fs_type $device` + local ok=1 + + if [ "$type" = "f2fs" ] + then + # mounted ... + local mountpoint=`_umount_or_remount_ro $device` + fi + + $F2FS_FSCK_PROG --dry-run $device >$tmp.fsck.f2fs 2>&1 + if [ $? -ne 0 ];then + _log_err "_check_f2fs_filesystem: filesystem on $device is inconsistent" + echo "*** fsck.f2fs output ***" >>$seqres.full + cat $tmp.fsck.f2fs >>$seqres.full + echo "*** end fsck.f2fs output" >>$seqres.full + + ok=0 + fi + rm -f $tmp.fsck.f2fs + + if [ $ok -eq 0 ] + then + echo "*** mount output ***" >>$seqres.full + _mount >>$seqres.full + echo "*** end mount output" >>$seqres.full + elif [ "$type" = "f2fs" ] + then + # was mounted ... + _mount_or_remount_rw "$MOUNT_OPTIONS" $device $mountpoint + ok=$? + fi + + if [ $ok -eq 0 ]; then + return 1 + fi + + return 0 +} + # Filter the knowen errors the UDF Verifier reports. _udf_test_known_error_filter() { @@ -3623,6 +3667,9 @@ _check_test_fs() ubifs) # there is no fsck program for ubifs yet ;; + f2fs) + _check_f2fs_filesystem $TEST_DEV + ;; *) _check_generic_filesystem $TEST_DEV ;; @@ -3679,6 +3726,9 @@ _check_scratch_fs() ubifs) # there is no fsck program for ubifs yet ;; + f2fs) + _check_f2fs_filesystem $device + ;; *) _check_generic_filesystem $device ;; From patchwork Wed Mar 12 07:23:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 14013024 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 1134B2F44 for ; Wed, 12 Mar 2025 07:23:31 +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=1741764212; cv=none; b=u4GNJ9/ile2hQCJoxLNwr2ijgcGL9BS8Er0xkMuFXgHyS00ddhdEt0xADz4U2sk8aHEPryNqWd7yKmDQB9tFG1J34vlQjTi5YdVsAD4+3NlfIdPXSmgVM5iQNSoaYvLkBEz65Yx8tlkvjdzuAnDE5C73MAavr4D/vEzbpx0fkGA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741764212; c=relaxed/simple; bh=/OdInppd1TBzh12H3PtpMhyYhEBoCLbY8rN+1BzVctY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FCu1uEPrj0cLADbEghFDZlLOzPLK/94RdiFPqeqvdqDYL6/CCrvcWpM0zDQcMjqevwOXJz0znAe+l7Gf+lHSLGuiUi/YMK3aOBbJ5RitnIR05LSfdVljAXUaC2MJx1FwM/NevEJoxMeTufN3w9PI2sLi59DLl130+bJk8dvdPA4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=pTtdBw/A; 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="pTtdBw/A" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 652EFC4CEF5; Wed, 12 Mar 2025 07:23:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1741764211; bh=/OdInppd1TBzh12H3PtpMhyYhEBoCLbY8rN+1BzVctY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pTtdBw/ASZyiP+raiZp0C/2mbC6Q3ULXFWKqHdi/rOwFpoMEyBdQlIZeOtCOrLGMW +HPacY4Gz4yt74wGrLQuG2Fd46gpB/t9SAXv7OxZYEnZ7N+Ta5pUQW2ZBqscf8bn9t dMIUCmFXEHmphyhWA9OxOsgmb8SKSR12jsZczd8QYXqYRxhku+CosbOF2AC4XgtN3J nUR/UqRq/2h+vWYlJvEJOA/hLdl5N/VHivbKlF5Md2U7Pt1N2flqmyywDApmJ+x/4e YM06m/4mSBObOTaiMBwQPVndhPxpKtoRgBmcz0++AOpBR/u4clVaV14xg5XeuK8onr Qi/f0vZ/pF7ww== From: Chao Yu To: Zorro Lang , fstests@vger.kernel.org Cc: jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net, Chao Yu Subject: [PATCH v4 6/6] f2fs/009: detect and repair nlink corruption Date: Wed, 12 Mar 2025 15:23:09 +0800 Message-ID: <20250312072309.3989074-6-chao@kernel.org> X-Mailer: git-send-email 2.49.0.rc0.332.g42c0ae87b1-goog In-Reply-To: <20250312072309.3989074-1-chao@kernel.org> References: <20250312072309.3989074-1-chao@kernel.org> Precedence: bulk X-Mailing-List: fstests@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 This is a regression test to check whether fsck can handle corrupted nlinks correctly, it uses inject.f2fs to inject nlinks w/ wrong value, and expects fsck.f2fs can detect such corruption and do the repair. Cc: Jaegeuk Kim Signed-off-by: Chao Yu --- v4: - remove unnecessary "_require_command fsck.f2fs" - clean up _fixed_by_git_commit line - fix to clean all tmp files in _cleanup tests/f2fs/009 | 147 +++++++++++++++++++++++++++++++++++++++++++++ tests/f2fs/009.out | 2 + 2 files changed, 149 insertions(+) create mode 100755 tests/f2fs/009 create mode 100644 tests/f2fs/009.out diff --git a/tests/f2fs/009 b/tests/f2fs/009 new file mode 100755 index 00000000..9120d8a5 --- /dev/null +++ b/tests/f2fs/009 @@ -0,0 +1,147 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2025 Chao Yu. All Rights Reserved. +# +# FS QA Test No. f2fs/009 +# +# This is a regression test to check whether fsck can handle corrupted +# nlinks correctly, it uses inject.f2fs to inject nlinks w/ wrong value, +# and expects fsck.f2fs can detect such corruption and do the repair. +# +. ./common/preamble +_begin_fstest auto quick + +if [ ! -x "$(type -P socket)" ]; then + _notrun "Couldn't find socket" +fi + +_require_scratch +_require_command "$F2FS_INJECT_PROG" inject.f2fs + +_fixed_by_git_commit f2fs-tools 958cd6e \ + "fsck.f2fs: support to repair corrupted i_links" + +filename=$SCRATCH_MNT/foo +hardlink=$SCRATCH_MNT/bar + +_cleanup() +{ + if [ -n "$pid" ]; then + kill $pid &> /dev/null + wait + fi + cd / + rm -r -f $tmp.* +} + +for ((i=0;i<14;i++)) do + echo "round: " $i >> $seqres.full + + _scratch_mkfs >> $seqres.full + _scratch_mount + + if [ $i == 0 ]; then + touch $filename + ino=`stat -c '%i' $filename` + nlink=0 + elif [ $i == 1 ]; then + mkdir $filename + ino=`stat -c '%i' $filename` + nlink=1 + elif [ $i == 2 ]; then + mknod $filename c 9 0 + ino=`stat -c '%i' $filename` + nlink=0 + elif [ $i == 3 ]; then + mknod $filename b 8 0 + ino=`stat -c '%i' $filename` + nlink=0 + elif [ $i == 4 ]; then + mkfifo $filename + ino=`stat -c '%i' $filename` + nlink=0 + elif [ $i == 5 ]; then + socket -s $filename >> $seqres.full 2>&1 & + pid=$! + sleep 2 + ino=`stat -c '%i' $filename` + kill $pid >> $seqres.full 2>&1 + nlink=0 + elif [ $i == 6 ]; then + ln -s $SCRATCH_MNT/empty $filename + ino=`stat -c '%i' $filename` + nlink=0 + elif [ $i == 7 ]; then + # orphan inode + touch $filename + ino=`stat -c '%i' $filename` + $F2FS_IO_PROG write 1 0 1 zero atomic_commit $filename 5000 >> $seqres.full 2>&1 & + stat $filename >> $seqres.full + rm $filename + $F2FS_IO_PROG shutdown 1 $SCRATCH_MNT/ >> $seqres.full + sleep 6 + nlink=1 + elif [ $i == 8 ]; then + # hardlink on file + touch $filename + ino=`stat -c '%i' $filename` + ln $filename $hardlink + nlink=0 + elif [ $i == 9 ]; then + # hardlink on charactor + mknod $filename c 9 0 + ino=`stat -c '%i' $filename` + ln $filename $hardlink + nlink=0 + elif [ $i == 10 ]; then + # hardlink on blockdev + mknod $filename b 8 0 + ino=`stat -c '%i' $filename` + ln $filename $hardlink + nlink=0 + elif [ $i == 11 ]; then + # hardlink on pipe + mkfifo $filename + ino=`stat -c '%i' $filename` + ln $filename $hardlink + nlink=0 + elif [ $i == 12 ]; then + # hardlink on socket + socket -s $filename >> $seqres.full 2>&1 & + pid=$! + sleep 2 + ino=`stat -c '%i' $filename` + kill $pid >> $seqres.full 2>&1 + ln $filename $hardlink + nlink=0 + elif [ $i == 13 ]; then + # hardlink on symlink + ln -s $SCRATCH_MNT/empty $filename + ino=`stat -c '%i' $filename` + ln $filename $hardlink + nlink=0 + fi + + if [ $i != 7 ]; then + stat $SCRATCH_MNT/* >> $seqres.full + fi + echo "ino:"$ino >> $seqres.full + echo "nlink:"$nlink >> $seqres.full + + _scratch_unmount + + $F2FS_INJECT_PROG --node --mb i_links --nid $ino --val $nlink $SCRATCH_DEV \ + >> $seqres.full || _fail "fail to inject" + + _check_scratch_fs >> $seqres.full 2>&1 && _fail "can't find corruption" + _repair_scratch_fs >> $seqres.full + _check_scratch_fs >> $seqres.full 2>&1 || _fail "fsck can't fix corruption" + + _scratch_mount + _scratch_unmount +done + +echo "Silence is golden" + +status=0 +exit diff --git a/tests/f2fs/009.out b/tests/f2fs/009.out new file mode 100644 index 00000000..7e977155 --- /dev/null +++ b/tests/f2fs/009.out @@ -0,0 +1,2 @@ +QA output created by 009 +Silence is golden