From patchwork Tue Mar 25 12:58:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 14028990 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 0764F25A2AC for ; Tue, 25 Mar 2025 12:58:42 +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=1742907525; cv=none; b=uMe+I1QBmy9GgEhcyFpR87YBJ1RBQOgadm1/znxHQSKZ0k7OZaFM4hKQX5giiHPkkkR78rXv24dlk+V9WiFz1ot8uAQ18idcrVthFpycbVPPvom7qzDXT8AUtfqryKaH1AyZqZ7OlUFZoUrK1ec6xcxJSF9QbqDK0jlnF1kWveg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742907525; c=relaxed/simple; bh=9abPyMZNZpjPTxRIU3EzPNArc5vpHFGSWM5BVeufFRg=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=NMMzbLUkIxsHVgS7ShsULCaJxL3cViddhQXxNuOBMJuN1C75AKenf6DhH0ZlPlc80NN2eS0ZWz+YicfxoQvoyOV23ZrU2G8YUKtsRRotkQQ/9kFFKI/OwbQaQ2WePr6o+wpqNmMLwMtEGwKnMEGb9KU9r+JP1auEuG/AjhNwsM4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GGEdvDOF; 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="GGEdvDOF" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A86A8C4CEE9; Tue, 25 Mar 2025 12:58:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742907522; bh=9abPyMZNZpjPTxRIU3EzPNArc5vpHFGSWM5BVeufFRg=; h=From:To:Cc:Subject:Date:From; b=GGEdvDOF4c0J9AZD+9fFlsUuljfzST4iI6kV8FaT1c3DlWFuRSpV5QEn5AQpH7oOj tkddKBdDGVNpfwiET+QZa1jpb3KmtvM0W6ZiflJwCdARkbL9rcmP2Zw25E/XKyUxwC qn/ab7ttTY/MxpRu03qR7NcCi9FiikErjkolqR/xEfoiN7TVxG3/wewm6Ob+p/ifgT xEhMIP4UXhM1jbP46IFJsvBadU8TnseQujpeOtQ8z0/Xj6EHch/VSzEoYohnhUxI5M l1lelX8qT3i9xxGQuY+KlLnCesxgzIOtUX55h3EJhW+iNClkBhAF57tzJ4quXJMXFF Dck5/PloSSN+A== 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 v5 1/6] common/config: remove redundant export variables Date: Tue, 25 Mar 2025 20:58:19 +0800 Message-ID: <20250325125824.3367060-1-chao@kernel.org> X-Mailer: git-send-email 2.49.0.395.g12beb8f557-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 Tue Mar 25 12:58:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 14028991 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 3BD8825A2AC for ; Tue, 25 Mar 2025 12:58:44 +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=1742907526; cv=none; b=EYL/HJN1QCAeFbOZotMh2fqMuQHYSj6bRIY3TehvdbRKSQ12ZSR1cEmnIdV5iLT0qfsydPOFjCVzWOILo+lFzcfSu5LEC+Zq8rtlWMZ2HZ+sNlG3hhjVBJQebE4w1JF3hQn3g+FZBpUrs88d4tH23NK8cZUSf+cb6xxslajwYQM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742907526; c=relaxed/simple; bh=5VTc25eco32/jJpLDGVrxDEmip6J9yQmzC0ntM+IaW4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=b96j3G4JKoS+3KxQpuJX+ad01JtUBpNgf8gBMXoUfe7dmvO6EMe1pxEh+GwTWnU8oBMeXDQDxDTWdUBRZR3KrYhFpRq2iaCGCwft4hrA10i9AqNK3C71HrnhW50bxDcmprIHB/ib1B/2FxfPo8o03wOYPnGR+rXVEtvCfsBzHVc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KomJ+VR+; 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="KomJ+VR+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4798BC4CEED; Tue, 25 Mar 2025 12:58:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742907524; bh=5VTc25eco32/jJpLDGVrxDEmip6J9yQmzC0ntM+IaW4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KomJ+VR+P1yXuLnJB++XCYLC0x3Xa0BhnyumNnCUyl4rCDC3J4yyYcBnxEs3IYadb 2KXCOUUPUklnglYzk9u36kGbQT06i6iihgy+ja2t/zMResmuH30168jBn+xS5arWn8 U3tuwinI8bMaH6NWRiJvQI+yy3x8a2xrTtgCYyZ4rC1hXF3AeTgVZ/uVrmj6oq0Aa3 a6kIjTUaXN5ZusHC7ktP2uFzpciHOfA5FLeizq+t1DADqdWKQlDnk8Zwr//Hift9lG zwd6Otlt5SHftBEd5KFFDLR3SnCkfXkIuo2v4mzVvibw291qSDip1uexfNH6+Lc0yy onLjQGaL4Qw5g== 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 v5 2/6] common/config: export F2FS_INJECT_PROG Date: Tue, 25 Mar 2025 20:58:20 +0800 Message-ID: <20250325125824.3367060-2-chao@kernel.org> X-Mailer: git-send-email 2.49.0.395.g12beb8f557-goog In-Reply-To: <20250325125824.3367060-1-chao@kernel.org> References: <20250325125824.3367060-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 --- 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 Tue Mar 25 12:58:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 14028992 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 D70E225A2BA for ; Tue, 25 Mar 2025 12:58:46 +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=1742907526; cv=none; b=QAqPKYa+YwU2j2p+GrRyepXExXCoTJ/aD+fCHIpMVlAZPIjkBKoB89KAv1kqruPdClHQfaYiUsctnquoJV8fqrBjuqZpP8Y3H7SkVUoJPBnZtH0/fQ7/B64yBwiV8S0A6NcGHoaNsG8ByHDrYjUupYAiyLEJjZkMaJn7MZrNb1w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742907526; c=relaxed/simple; bh=MjEyGyyl7AWswcFK7usJ4ngiXueb/ZAlQKbJoWJUfJo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RQBd9jQF0wYEloaS00tsiGV2Bi5CO6O0iby3n5DoooT1aDuNYghfWLfaZaprgkQfoDrwmEDVEMmo85sYeOj0RK3kERJs8MHWznBoLguMcp7yx0VXjHsE16evip4xllZMueCtlN+qmhUGbBEr+UsybhGVVsFNQ+Ky4rojFw9UWSo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Btgm8qLK; 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="Btgm8qLK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 25095C4CEEF; Tue, 25 Mar 2025 12:58:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742907526; bh=MjEyGyyl7AWswcFK7usJ4ngiXueb/ZAlQKbJoWJUfJo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Btgm8qLKkZb/zIk2pHCPlr/V+crjFxJoB4Bkp5HYSDmP5/LLlKA34qHmP3cZCYsre qKXWL3dHTVhqYsI1fc0pGXUKajrJAnW7wIyJDQCAS2rU9TXkpVClB54iaOXqx/jD6J RMddRb2nbRsvEOg6F6Fbl8hGVoMfMg3v87jKlYSRsGhL95N93kwjk03/OJ5REFb6CZ 3CoEAM64pPh1azcL4Qe3W4rTYp6mmMTj4dGVwVkJUWazmYeEfRfI8hXpNn3sZ6sM3S GVKoRl0/k/nj0Pi5wpvPoL1MugiBFhD7KSFhZZLeI/w2O8RRc9UxFXEFvUqi85Kx7k wAdMgll41nVLw== 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 v5 3/6] common/config: export F2FS_FSCK_PROG Date: Tue, 25 Mar 2025 20:58:21 +0800 Message-ID: <20250325125824.3367060-3-chao@kernel.org> X-Mailer: git-send-email 2.49.0.395.g12beb8f557-goog In-Reply-To: <20250325125824.3367060-1-chao@kernel.org> References: <20250325125824.3367060-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 --- 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 Tue Mar 25 12:58:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 14028993 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 D2117259CA0 for ; Tue, 25 Mar 2025 12:58:48 +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=1742907528; cv=none; b=uN31jOx74YRSk/PqUGtyo8F/5J1dAo0zEgWkgZFPBENp57UZmyZCpomIvJCOZv36omr87VnCDKX00YX9j8nq92UfLEsCiIJSkHUwZUNGTFGMbzNJj6zjHthqVRz7+pl4OfPnjMinKTu9UrjiGJUt/JEeBCvxPM6/u9/5BGuXyA8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742907528; c=relaxed/simple; bh=ZAcfeHuiPFV3sbyFPlA/8+VKHCU2VRylhvjIEQHs1Iw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=J3PVeSH9qEIlLTP4IAgmsbgbfQuVYIJdwY2iSntX2u1gTDBlYHaBlVnjZ4AwiZ6ICU2yg6XHjJdtr1cep03i2ZTYxJmXsffI5ShZKxDtVdYS0KHuDULr1zcvMVTcYTQpvZkjSxQfFxeu7zEyNeUWD6uOQKUXp2kpk5G4c+B9iS4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NZdQg6jA; 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="NZdQg6jA" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D1AE8C4CEE4; Tue, 25 Mar 2025 12:58:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742907528; bh=ZAcfeHuiPFV3sbyFPlA/8+VKHCU2VRylhvjIEQHs1Iw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NZdQg6jAdsSbyM56p+QKV/COMjbvZPBpleTyOfMBjrWePpOYa1irzsSszZ6U1X1Ve 2WHYJGzS5tz7GgSTpzIuJY2rsOCKvoOeGJfG5E0tIcOj8YQCEAMHrCSp0CLSOf3ecE 1O8TGcwWnDqB4Vfk2zlMnqPH2qGVUm7SFT/1A0FBBn76Q6WD0vZQtR3iMMi3gnPW5o p+OJw/W+/4YFsT/rJJGSXmPZwPXhcPCbNuXke88BmDfsBA3pcKVAkvfhdaKjHry7lb B9iqKdu1FwmbFpKXVF06hY8E3MLLyvWNIb3aMeZPROTXcSxEbkrmvJ3r1Wol7b/sL/ TMZivhcZ2DERQ== 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 v5 4/6] common/rc: use -f for mkfs.f2fs by default Date: Tue, 25 Mar 2025 20:58:22 +0800 Message-ID: <20250325125824.3367060-4-chao@kernel.org> X-Mailer: git-send-email 2.49.0.395.g12beb8f557-goog In-Reply-To: <20250325125824.3367060-1-chao@kernel.org> References: <20250325125824.3367060-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 --- common/rc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/rc b/common/rc index e5168638..ac2bac81 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 Tue Mar 25 12:58:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 14028994 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 0182925A2B7 for ; Tue, 25 Mar 2025 12:58:49 +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=1742907530; cv=none; b=S5mzQ/QqiQzuSSRz1i6hlQ1o4T7mVp6mJOHNTb9bif3tWmjnBkSwPKyYhmh9GGAGuFl4jxQNrYuxRBaRLv5ehWsrigC1whVMV7GmfgHugmUDwwt6DicGpF8JPRH5QuHLjYfFqmozRU88tscRM3kJ1bVFLWrVj4sTWsP7ETcinzw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742907530; c=relaxed/simple; bh=00DLigW1BznJ8vTs4yfqAv7qlo9NXstRvHEGDfH0+AU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Jrl9dx8IrP6HhSFFR8SuD73T1DsjMus5gIgxHoza73BD3S1qcSncFRXh0BjtL73psmagqMEJxvYplEUHy3MKOmx/n+C/Zt5qreTSlAxIlQ059ofSS25kJS6ufc6Po87HINCdO28o5VYan5Ch8N1Di4eZQ4cQ0wg2W4Nvf3yxg1c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rvqD+t/v; 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="rvqD+t/v" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B7A5CC4CEED; Tue, 25 Mar 2025 12:58:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742907529; bh=00DLigW1BznJ8vTs4yfqAv7qlo9NXstRvHEGDfH0+AU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rvqD+t/vGpY2tdZeuLreLdmIwRKIAfejszt4vOWSfuHf9r+gK5W4XmEVMBNmJ9yHW fySK7S+6yLZcttkhceiJXdl4tm1ABkR5ZcDtvkBKlBOigBrHTgrByFuIjpoo4fvl/Z 5cVcQmIe9lGSBafSEh1ZEKmbhCZbX5z1WEFuZEhgFT+BwnhaliQ/0PeiUEgbjrhfom i5pdV2QJ8WTkJTGT2JkgZaG7dRYS8qFYjgahQg1w6d7AMQHUH6rKxFx5fTxm3AqBfv j67053xcsZ9lM1jwpZKnbrHETcKefgik2rH6Zu+SfeFYphquIlFD3IKEPsiw/T6+tX gvxXbYNqq/sIw== From: Chao Yu To: Zorro Lang , fstests@vger.kernel.org Cc: jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net, Chao Yu Subject: [PATCH v5 5/6] common/rc: introduce _check_f2fs_filesystem() Date: Tue, 25 Mar 2025 20:58:23 +0800 Message-ID: <20250325125824.3367060-5-chao@kernel.org> X-Mailer: git-send-email 2.49.0.395.g12beb8f557-goog In-Reply-To: <20250325125824.3367060-1-chao@kernel.org> References: <20250325125824.3367060-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 --- common/rc | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/common/rc b/common/rc index ac2bac81..cabd44de 100644 --- a/common/rc +++ b/common/rc @@ -3527,6 +3527,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() { @@ -3631,6 +3675,9 @@ _check_test_fs() ubifs) # there is no fsck program for ubifs yet ;; + f2fs) + _check_f2fs_filesystem $TEST_DEV + ;; *) _check_generic_filesystem $TEST_DEV ;; @@ -3687,6 +3734,9 @@ _check_scratch_fs() ubifs) # there is no fsck program for ubifs yet ;; + f2fs) + _check_f2fs_filesystem $device + ;; *) _check_generic_filesystem $device ;; From patchwork Tue Mar 25 12:58:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 14028995 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 8191425A2B2 for ; Tue, 25 Mar 2025 12:58:51 +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=1742907531; cv=none; b=F1E7Jwxvf865/gDmaEnTvYy+39kQhskpwij+dAuBD6ofADHim8hOTQFfrnLnidOEWdKImR35vT6aumT50REAaCaaWsG1AirnYkATsMYAlFi9M1OYtkhMvcFOBIIivjI6nYcOOYEEU4pRJQoCFScufKBf/t283GESNDuj36JLbic= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742907531; c=relaxed/simple; bh=RQvIBzy9bgK+sBeTLXLeBY1V+fYe6vVoOMsaan4bsAo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cC7HX13hRcMh9LN0iHyAj7Xr+dsKhP1I0JyNRzMYecpDHP87BBUJa5XD2WRQIDuv0MjTXImV7eiTan3Zei9NUFUiMF+yfv0p+Oj0bHnVdX9pYwYdRm0lTbe0zOsnHKlSubaLEllPr8UrtbL26Y2vRuniV+s8v60DZoIjAqIwGYQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=FZf6xIXK; 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="FZf6xIXK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 461EDC4CEE4; Tue, 25 Mar 2025 12:58:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1742907531; bh=RQvIBzy9bgK+sBeTLXLeBY1V+fYe6vVoOMsaan4bsAo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FZf6xIXKU/sV5eIXWbbfwXe+VikVmrCO6GOa2mf/aV/4TBSO3BQwDUVub6/RfRACG 0LayZkzm6moWPKWROfluC9SAFIa6mFzlJqvenLEP8NXNWuDEB/VosZIiIAh/3Vio6T 8B4D4vd87yXCStFSgE1gzsyuYnpasJ7dem+QmgOyOj+3VuiQoxkjnhQWT0uRjyzInR Rwb3TSdyjlb++huL74Bzjp+yJHc53LVkj+BHXZ3S+AlHDvFNOYzHW4hUoP6+xF6yab aDpfhN6TEz5h8fCh6DwshzR6yIENwxmDppflMdmR8hIlQPzNk+KySgImA+xwCiZnMJ ovqGVfgH3XF3A== From: Chao Yu To: Zorro Lang , fstests@vger.kernel.org Cc: jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net, Chao Yu Subject: [PATCH v5 6/6] f2fs/009: detect and repair nlink corruption Date: Tue, 25 Mar 2025 20:58:24 +0800 Message-ID: <20250325125824.3367060-6-chao@kernel.org> X-Mailer: git-send-email 2.49.0.395.g12beb8f557-goog In-Reply-To: <20250325125824.3367060-1-chao@kernel.org> References: <20250325125824.3367060-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 --- v5: - clean up codes suggested by Dave. tests/f2fs/009 | 141 +++++++++++++++++++++++++++++++++++++++++++++ tests/f2fs/009.out | 2 + 2 files changed, 143 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..864fdcfb --- /dev/null +++ b/tests/f2fs/009 @@ -0,0 +1,141 @@ +#! /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.* +} + +_inject_and_check() +{ + local nlink=$1 + local ino=$2 + + 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 + + _scratch_mkfs >> $seqres.full + _scratch_mount +} + +inject_and_check() +{ + local nlink=$1 + local create_hardlink=$2 + local ino=$3 + + if [ -z $ino ]; then + ino=`stat -c '%i' $filename` + fi + + if [ $create_hardlink == 1 ]; then + ln $filename $hardlink + fi + + _inject_and_check $nlink $ino +} + +_scratch_mkfs >> $seqres.full +_scratch_mount + +touch $filename +inject_and_check 0 0 + +mkdir $filename +inject_and_check 1 0 + +mknod $filename c 9 0 +inject_and_check 0 0 + +mknod $filename b 8 0 +inject_and_check 0 0 + +mkfifo $filename +inject_and_check 0 0 + +socket -s $filename >> $seqres.full 2>&1 & +pid=$! +sleep 2 +ino=`stat -c '%i' $filename` +kill $pid >> $seqres.full 2>&1 +inject_and_check 0 0 $ino + +ln -s $SCRATCH_MNT/empty $filename +inject_and_check 0 0 + +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 +inject_and_check 1 0 $ino + +# hardlink +touch $filename +inject_and_check 0 1 + +mknod $filename c 9 0 +inject_and_check 0 1 + +mknod $filename b 8 0 +inject_and_check 0 1 + +mkfifo $filename +inject_and_check 0 1 + +socket -s $filename >> $seqres.full 2>&1 & +pid=$! +sleep 2 +ino=`stat -c '%i' $filename` +kill $pid >> $seqres.full 2>&1 +inject_and_check 0 1 $ino + +ln -s $SCRATCH_MNT/empty $filename +inject_and_check 0 1 + +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