From patchwork Wed Jun 29 12:45:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Theodore Ts'o X-Patchwork-Id: 12900005 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E8940CCA47C for ; Wed, 29 Jun 2022 12:45:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233424AbiF2Mpr (ORCPT ); Wed, 29 Jun 2022 08:45:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45368 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233430AbiF2Mpq (ORCPT ); Wed, 29 Jun 2022 08:45:46 -0400 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D75C2F679 for ; Wed, 29 Jun 2022 05:45:45 -0700 (PDT) Received: from cwcc.thunk.org (pool-173-48-118-63.bstnma.fios.verizon.net [173.48.118.63]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 25TCjfje023598 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jun 2022 08:45:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=outgoing; t=1656506742; bh=Uco/WluYMNn3eCmZiQEHi6LM0F4ScJpfvUiF1cap0Uw=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=mHiRc78RNKViZ2KKlzV/fr3de75koBaELzCxcgtMWs0KO0AC2+DGaK4qNS+AYud4P rFTXOCvuh+O1m+UnjiKaqoHQRx6/pmM6WsD+cKD2/uzEJI87veG35oXyuAYNGjJfDL XIE+MQKLWW8S75QV8dkRb/CYlQeCEd4wAIUfXDqMHMNlKUygcsFYKFzsq6PdrhMKzl a23WpwoVIqwS3wG5d0MiCcRNEbrQcMSpdTehPISTvxbbWZhhTLdPD/WwuHt0Ow5HhM Nd5620wp0AuaTrDJpBz3m5aKCezaJltziJ315SSwj724jtJ0Dov928hU0ip1xYBqlz a3Wy+2nPha1jQ== Received: by cwcc.thunk.org (Postfix, from userid 15806) id 305DC15C432B; Wed, 29 Jun 2022 08:45:41 -0400 (EDT) From: "Theodore Ts'o" To: fstests@vger.kernel.org Cc: "Theodore Ts'o" , Zorro Lang Subject: [PATCH -v3 1/7] ext4/050: support indirect as well as extent mapped journals Date: Wed, 29 Jun 2022 08:45:34 -0400 Message-Id: <20220629124540.175775-2-tytso@mit.edu> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20220629124540.175775-1-tytso@mit.edu> References: <20220629124540.175775-1-tytso@mit.edu> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org Simplify the test and fix ext4/050 failures when running ext4 without extents enabled (e.g., in ext3 emulation mode). Instead of relying on parsing debugfs output's (which varies depending on whether the journal inode is extent mapped or indirect block mapped), use debugfs's "cat" command to get the contents of the journal. Signed-off-by: Theodore Ts'o Reviewed-by: Zorro Lang --- tests/ext4/050 | 58 +++++--------------------------------------------- 1 file changed, 5 insertions(+), 53 deletions(-) diff --git a/tests/ext4/050 b/tests/ext4/050 index 79961957..6f93b86d 100755 --- a/tests/ext4/050 +++ b/tests/ext4/050 @@ -22,55 +22,6 @@ _require_command "$DEBUGFS_PROG" debugfs checkpoint_journal=$here/src/checkpoint_journal _require_test_program "checkpoint_journal" -# convert output from stat to list of block numbers -get_journal_extents() { - inode_info=$($DEBUGFS_PROG $SCRATCH_DEV -R "stat <8>" 2>> $seqres.full) - echo -e "\nJournal info:" >> $seqres.full - echo "$inode_info" >> $seqres.full - - extents_line=$(echo "$inode_info" | awk '/EXTENTS:/{ print NR; exit }') - get_extents=$(echo "$inode_info" | sed -n "$(($extents_line + 1))"p) - - # get just the physical block numbers - get_extents=$(echo "$get_extents" | perl -pe 's|\(.*?\):||g' | sed -e 's/, /\n/g' | perl -pe 's|(\d+)-(\d+)|\1 \2|g') - - echo "$get_extents" -} - -# checks all extents are zero'd out except for the superblock -# arg 1: extents (output of get_journal_extents()) -check_extents() { - echo -e "\nChecking extents:" >> $seqres.full - echo "$1" >> $seqres.full - - super_block="true" - echo "$1" | while IFS= read line; do - start_block=$(echo $line | cut -f1 -d' ') - end_block=$(echo $line | cut -f2 -d' ' -s) - - # if first block of journal, shouldn't be wiped - if [ "$super_block" == "true" ]; then - super_block="false" - - #if super block only block in this extent, skip extent - if [ -z "$end_block" ]; then - continue; - fi - start_block=$(($start_block + 1)) - fi - - if [ ! -z "$end_block" ]; then - blocks=$(($end_block - $start_block + 1)) - else - blocks=1 - fi - - check=$(od $SCRATCH_DEV --skip-bytes=$(($start_block * $blocksize)) --read-bytes=$(($blocks * $blocksize)) -An -v | sed -e 's/[0 \t\n\r]//g') - - [ ! -z "$check" ] && echo "error" && break - done -} - testdir="${SCRATCH_MNT}/testdir" _scratch_mkfs_sized $((64 * 1024 * 1024)) >> $seqres.full 2>&1 @@ -93,11 +44,12 @@ sync --file-system $testdir/1 # call ioctl to checkpoint and zero-fill journal blocks $checkpoint_journal $SCRATCH_MNT --erase=zeroout || _fail "ioctl returned error" -extents=$(get_journal_extents) - # check journal blocks zeroed out -ret=$(check_extents "$extents") -[ "$ret" = "error" ] && _fail "Journal was not zero-filled" +$DEBUGFS_PROG $SCRATCH_DEV -R "cat <8>" 2> /dev/null | od >> $seqres.full +check=$($DEBUGFS_PROG $SCRATCH_DEV -R "cat <8>" 2> /dev/null | \ + od --skip-bytes="$blocksize" -An -v | sed -e '/^[0 \t]*$/d') + +[ ! -z "$check" ] && _fail "Journal was not zeroed" _scratch_unmount >> $seqres.full 2>&1 From patchwork Wed Jun 29 12:45:35 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Theodore Ts'o X-Patchwork-Id: 12900002 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5B437CCA480 for ; Wed, 29 Jun 2022 12:45:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233430AbiF2Mpr (ORCPT ); Wed, 29 Jun 2022 08:45:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45360 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229744AbiF2Mpp (ORCPT ); Wed, 29 Jun 2022 08:45:45 -0400 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 497B523175 for ; Wed, 29 Jun 2022 05:45:45 -0700 (PDT) Received: from cwcc.thunk.org (pool-173-48-118-63.bstnma.fios.verizon.net [173.48.118.63]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 25TCjfEt023614 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jun 2022 08:45:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=outgoing; t=1656506742; bh=8xanglkN43VBugMwl8Hkn6Aw6FFf9nySfPvIfCCfQOE=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=H0qv74+2QW6qM1VyrkowtsUqZk/UUSJOC9lhehXplLFKnS+dZXDrOYlihGLHqwFHM RVhsAtUdxVOGGklYfRrIv8ygTjMTPzaHBG9KoiVGiN2Y3kJGh3Ak3kpDHWejXwHNvG tiwjhFHqLR1ExMAsvxrns3lOY1ITLWCJLH9aOMbzRNSXSk7vHUZ6VWT/mtQWt0FXrf PwXPLtYF4mwjBWaez/ua4xNkbjGUQ9eoQ/v73WWUequu+PCzMKWUmijVc+D9IvuZwz v1x+kSFAx2quNGG34Cy3IwJZnwIVc9nTOfmRelwROLCtzTj1d7xDnn2WZXwPjLh4pQ ukc3cphdPgtEw== Received: by cwcc.thunk.org (Postfix, from userid 15806) id 3171415C432C; Wed, 29 Jun 2022 08:45:41 -0400 (EDT) From: "Theodore Ts'o" To: fstests@vger.kernel.org Cc: "Theodore Ts'o" Subject: [PATCH -v3 2/7] ext4/044: skip test if the file system does not have a journal Date: Wed, 29 Jun 2022 08:45:35 -0400 Message-Id: <20220629124540.175775-3-tytso@mit.edu> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20220629124540.175775-1-tytso@mit.edu> References: <20220629124540.175775-1-tytso@mit.edu> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org This test mounts the file system using "mount -t ext3"; if the file system config creates the file system without the jbd2 journal, the "mount -t ext3" will fail. So skip this test in that case. Signed-off-by: Theodore Ts'o Reviewed-by: Zorro Lang --- tests/ext4/044 | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/ext4/044 b/tests/ext4/044 index 46e44053..158e2ac5 100755 --- a/tests/ext4/044 +++ b/tests/ext4/044 @@ -16,6 +16,7 @@ _begin_fstest auto quick _supported_fs ext4 _require_scratch _require_test_program "t_get_file_time" +_require_metadata_journaling echo "Silence is golden" From patchwork Wed Jun 29 12:45:36 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Theodore Ts'o X-Patchwork-Id: 12899999 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 712ADC43334 for ; Wed, 29 Jun 2022 12:45:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233429AbiF2Mpq (ORCPT ); Wed, 29 Jun 2022 08:45:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45352 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233427AbiF2Mpp (ORCPT ); Wed, 29 Jun 2022 08:45:45 -0400 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C19F62F673 for ; Wed, 29 Jun 2022 05:45:44 -0700 (PDT) Received: from cwcc.thunk.org (pool-173-48-118-63.bstnma.fios.verizon.net [173.48.118.63]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 25TCjfvC023613 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jun 2022 08:45:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=outgoing; t=1656506742; bh=40xglbfH65cVdYg2Tzb+ttMm2oeA1aBJ3SR9rqRk4tQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=CP9bEx2c/iwmCT4/8e9pM7W+ziIkIOYmpU5Dezi0Ws+12JWJ9j8KvG5uyUexAfexP 7Ho8bTTNtukUsAtEoXyX69EgMkWOk+QKhOjUo89df8cl3fgZ5KNpTDPed40DpHiNnT JaP1fSJAR6RYsZT9fJbcdIv4dq6Y6PUOCBJqdCySRzAdResIwiq8RA3ouKMK9j/VtQ Xk8DhQkN1dWfUcanem17pvMT8eq8gIhqtz/vu0SXGxE8+Oi3P+sjjHkZd3j5TGMTjN YfTQt5LHB7K5wm0fe681aFfsoE6dzKGNN32qx1n1/6DFM+9vf7dXZEMxTQvzsDrN6/ KV649q2FLjfZQ== Received: by cwcc.thunk.org (Postfix, from userid 15806) id 3342415C432E; Wed, 29 Jun 2022 08:45:41 -0400 (EDT) From: "Theodore Ts'o" To: fstests@vger.kernel.org Cc: "Theodore Ts'o" Subject: [PATCH -v3 3/7] ext4/045: _require_dumpe2fs doesn't take any arguments so remove them Date: Wed, 29 Jun 2022 08:45:36 -0400 Message-Id: <20220629124540.175775-4-tytso@mit.edu> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20220629124540.175775-1-tytso@mit.edu> References: <20220629124540.175775-1-tytso@mit.edu> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org Signed-off-by: Theodore Ts'o Reviewed-by: Zorro Lang --- tests/ext4/045 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ext4/045 b/tests/ext4/045 index ee7c0de3..4f0ad4aa 100755 --- a/tests/ext4/045 +++ b/tests/ext4/045 @@ -22,7 +22,7 @@ _supported_fs ext4 _require_scratch _require_test_program "t_create_short_dirs" _require_test_program "t_create_long_dirs" -_require_dumpe2fs "$DUMPE2FS_PROG" dumpe2fs +_require_dumpe2fs echo "Silence is golden" From patchwork Wed Jun 29 12:45:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Theodore Ts'o X-Patchwork-Id: 12900001 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9C3F0CCA47E for ; Wed, 29 Jun 2022 12:45:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229744AbiF2Mps (ORCPT ); Wed, 29 Jun 2022 08:45:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45370 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233431AbiF2Mpq (ORCPT ); Wed, 29 Jun 2022 08:45:46 -0400 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B08E02FE5D for ; Wed, 29 Jun 2022 05:45:45 -0700 (PDT) Received: from cwcc.thunk.org (pool-173-48-118-63.bstnma.fios.verizon.net [173.48.118.63]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 25TCjfXn023603 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jun 2022 08:45:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=outgoing; t=1656506742; bh=pOckgTVCuMooqwl2VCGxJiy8hryQhb6ybvoL/Ts85ro=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=D3oAbiC5CEikoFz8gD+ZIooq0x71NFy55lXZelzWUuqlaO2S4lt3Kvs0o4Gx93GLq xmphqDgQtkL7hye4vntvSqh3Kd00HWmm/OPO6kPutacuaKyngJIOImqfCGAfu75M5V aCztQ/G7qUilCXBDZDf3NBg5Iwbg9ccmoXyQOLev7FGbpX+f6cIzkOWYpPF3yHSPM7 J6IY7sghcX3e7cep7RrJJfvfTkqGnidkor3P9w+D/Xx1N22N69BzT/qThT/vuOxQ/r gL4i6ulpxDh+bzle8nHPazDmGb/+7y2L3utwlGbzjCYRuR+L+ZMKKHwYGkf/2Ynvga IFz1nqBUeK6eQ== Received: by cwcc.thunk.org (Postfix, from userid 15806) id 351EB15C432F; Wed, 29 Jun 2022 08:45:41 -0400 (EDT) From: "Theodore Ts'o" To: fstests@vger.kernel.org Cc: "Theodore Ts'o" , Zorro Lang Subject: [PATCH -v3 4/7] ext4/054: skip test if the dax mount option is enabled Date: Wed, 29 Jun 2022 08:45:37 -0400 Message-Id: <20220629124540.175775-5-tytso@mit.edu> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20220629124540.175775-1-tytso@mit.edu> References: <20220629124540.175775-1-tytso@mit.edu> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org The ext4/054 test explicitly creates a file system with a 1k blocksize. This can't possibly work on if the dax mount option is enabled, so change ext4/054 to use _scratch_mkfs_blocksized, and and a check to _scratch_mkfs_blocksized to _notrun the test if the block size is less than the page size. Also remove an unnecessary _require_test declaration since this test does not use the test device. Signed-off-by: Theodore Ts'o Reviewed-by: Zorro Lang --- common/rc | 3 +++ tests/ext4/054 | 5 ++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/common/rc b/common/rc index 9378ff26..3014f5fc 100644 --- a/common/rc +++ b/common/rc @@ -1220,6 +1220,9 @@ _scratch_mkfs_blocksized() if ! [[ $blocksize =~ $re ]] ; then _notrun "error: _scratch_mkfs_sized: block size \"$blocksize\" not an integer." fi + if [ $blocksize -lt $(get_page_size) ]; then + _exclude_scratch_mount_option dax + fi case $FSTYP in btrfs) diff --git a/tests/ext4/054 b/tests/ext4/054 index 9a11719f..e23acbb1 100755 --- a/tests/ext4/054 +++ b/tests/ext4/054 @@ -19,7 +19,6 @@ _begin_fstest auto quick dangerous_fuzzers # real QA test starts here _supported_fs ext4 -_require_test _require_scratch_nocheck _require_xfs_io_command "falloc" _require_xfs_io_command "pwrite" @@ -28,8 +27,8 @@ _require_xfs_io_command "fpunch" _require_command "$DEBUGFS_PROG" debugfs # In order to accurately construct the damaged extent in the following -# test steps, the blocksize is set to 1024 here -_scratch_mkfs "-b 1024" > $seqres.full 2>&1 +# test steps, the block size is set to 1024 here +_scratch_mkfs_blocksized 1024 >> $seqres.full 2>&1 _scratch_mount TEST_FILE="${SCRATCH_MNT}/testfile" From patchwork Wed Jun 29 12:45:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Theodore Ts'o X-Patchwork-Id: 12900006 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A49DFC433EF for ; Wed, 29 Jun 2022 12:45:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232889AbiF2Mpt (ORCPT ); Wed, 29 Jun 2022 08:45:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45388 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233427AbiF2Mpr (ORCPT ); Wed, 29 Jun 2022 08:45:47 -0400 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4A87134B90 for ; Wed, 29 Jun 2022 05:45:46 -0700 (PDT) Received: from cwcc.thunk.org (pool-173-48-118-63.bstnma.fios.verizon.net [173.48.118.63]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 25TCjga5023645 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jun 2022 08:45:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=outgoing; t=1656506743; bh=NDZVyZ5gvfyrcqKY2Brg3MnGgp5+uwqYZsM4M2WU+xg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=JezrHWZuQuFQKKQNcyZ2ZhSdO6ku8eLlm6z2s/9EBJN1WFrv9QmlOkIi14fVw5GVL TMlm29vKPTybzy579F7q6xozwFyy0ZsOc8SOP3Jo5t2AJ3hcOFDNTieejxdw4r0PkH fIoN13nbmZpwC05qOWvBztDwjnxwd0WrNNRdimwZlr2SIsQ0A03qk+xI2pvqHdJGH7 FRDZYa1b8Upm1KT+MPfptRsGns/zw0W0DLRFdAuMr48qZek11aTj/Rn09c7J2DiQWE xWq1sju16JziL9vrgumC3cZ5cm+rpTzlTR36WD9IbxNGfdRp6qp2jUAfa9mk+iPA7M uICGLGDZ+KVjw== Received: by cwcc.thunk.org (Postfix, from userid 15806) id 36FEF15C4330; Wed, 29 Jun 2022 08:45:41 -0400 (EDT) From: "Theodore Ts'o" To: fstests@vger.kernel.org Cc: "Theodore Ts'o" Subject: [PATCH -v3 5/7] ext4/055: skip test if dax mount option is used Date: Wed, 29 Jun 2022 08:45:38 -0400 Message-Id: <20220629124540.175775-6-tytso@mit.edu> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20220629124540.175775-1-tytso@mit.edu> References: <20220629124540.175775-1-tytso@mit.edu> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org This test creates a 1k block file system with the quota feature enabled. As such, it is incompatible with DAX. Signed-off-by: Theodore Ts'o Reviewed-by: Zorro Lang --- tests/ext4/055 | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/ext4/055 b/tests/ext4/055 index 8f466f1b..aa15cfe9 100755 --- a/tests/ext4/055 +++ b/tests/ext4/055 @@ -26,6 +26,7 @@ _require_command "$DEBUGFS_PROG" debugfs echo "Silence is golden" # The 1K blocksize is designed for debugfs. +_exclude_scratch_mount_option dax _scratch_mkfs "-F -O quota -b 1024" > $seqres.full 2>&1 # Start from 0, fill block 1 with 6,replace the original 2. From patchwork Wed Jun 29 12:45:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Theodore Ts'o X-Patchwork-Id: 12900003 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6B1B3C43334 for ; Wed, 29 Jun 2022 12:45:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231504AbiF2Mps (ORCPT ); Wed, 29 Jun 2022 08:45:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45392 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233436AbiF2Mpr (ORCPT ); Wed, 29 Jun 2022 08:45:47 -0400 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5A09234BBA for ; Wed, 29 Jun 2022 05:45:46 -0700 (PDT) Received: from cwcc.thunk.org (pool-173-48-118-63.bstnma.fios.verizon.net [173.48.118.63]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 25TCjgqX023646 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jun 2022 08:45:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=outgoing; t=1656506743; bh=XG+hnu9mROxsJTC2kB1xkHm453/LWB9CmxU0RSe+fxw=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=O4krPtwBTZ5D+/bqg+Ym0461xXQK2tesu/5OVFXifvPqNOi9eOd1Jb2vLpl2+KHDP PbSLLKhJi/rY0X49Hw/jbHQz/2cTB546qLREf2nZ/aveUW4uKvp6eHHa/bkTgje+u/ KVp4mmHicl05il/rjc0ATHJMQcT+ux9Ihw74ly3Fn+t7IEf1K+4vfNCt9Hj7xU/T+x 2/2sZVXxsTSjhG0OHTbHiuQSM4CJE/nBWBWEAMFTHNu7X/wypEMNscm1B3u6fNs7fz qte+aKv2xodk5LJw07225oNxlXKvwPWZAHstOgmhZC5dhqlwYX4G4aoJl7ymyFd9Tm 2ElO+PQfBw9Lw== Received: by cwcc.thunk.org (Postfix, from userid 15806) id 3918115C4331; Wed, 29 Jun 2022 08:45:41 -0400 (EDT) From: "Theodore Ts'o" To: fstests@vger.kernel.org Cc: "Theodore Ts'o" Subject: [PATCH -v3 6/7] ext4/035: skip this test if the scratch device does not support 1k block sizes Date: Wed, 29 Jun 2022 08:45:39 -0400 Message-Id: <20220629124540.175775-7-tytso@mit.edu> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20220629124540.175775-1-tytso@mit.edu> References: <20220629124540.175775-1-tytso@mit.edu> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org Signed-off-by: Theodore Ts'o Reviewed-by: Zorro Lang --- tests/ext4/035 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/ext4/035 b/tests/ext4/035 index cad3595b..1f26e766 100755 --- a/tests/ext4/035 +++ b/tests/ext4/035 @@ -26,6 +26,9 @@ _exclude_scratch_mount_option dax _require_command "$RESIZE2FS_PROG" resize2fs $MKFS_EXT4_PROG -F -b 1024 -E "resize=262144" $SCRATCH_DEV 32768 >> $seqres.full 2>&1 +if [ $? -ne 0 ]; then + _notrun "Can't make file system with a block size of 1024" +fi _scratch_mount echo "Resizing to 262145 blocks" From patchwork Wed Jun 29 12:45:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Theodore Ts'o X-Patchwork-Id: 12900004 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E952CCCA482 for ; Wed, 29 Jun 2022 12:45:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231868AbiF2Mps (ORCPT ); Wed, 29 Jun 2022 08:45:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45390 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233434AbiF2Mpr (ORCPT ); Wed, 29 Jun 2022 08:45:47 -0400 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4730630544 for ; Wed, 29 Jun 2022 05:45:46 -0700 (PDT) Received: from cwcc.thunk.org (pool-173-48-118-63.bstnma.fios.verizon.net [173.48.118.63]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 25TCjg6K023644 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 29 Jun 2022 08:45:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=outgoing; t=1656506743; bh=WOO8SQvyRb+E46pG0J0Lmbb/j9JvVr2/C3UIvmb2MLg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=OKdI2VrBtbB87EqHtvO3Y6/OZ77LGhDj+irswX2n3WsjBTqxgXT/PMnMK4oJ/0w93 W4+Ht/BmwY3W9BREbDXgwARSKnkBxhLtqNpv9pupEtjZZxoeIm0ELUOXVl0UGzxbol PBNsBeLWmF1dnfASwWeHnNFzDMM1WIS1CkguA3uVVgBAWaF+WgZgAp4EJWjZm9A+U4 mOmQjyPXR2JltaMDQSLdQsHdkIiiYFeCXJED6CPxryMBodUV013QPt6aKSDwuRqopK El1Xwe4X1jmJQNw2pPNvyRhP9kSULLnD8oiYBcM+VeMfOrIPXDeX9nTdNqHN2juBTR 5k3yOFHpy2xkw== Received: by cwcc.thunk.org (Postfix, from userid 15806) id 3AEE315C4333; Wed, 29 Jun 2022 08:45:41 -0400 (EDT) From: "Theodore Ts'o" To: fstests@vger.kernel.org Cc: "Theodore Ts'o" Subject: [PATCH -v3 7/7] ext4: create file systems with the encrypt feature as necessary Date: Wed, 29 Jun 2022 08:45:40 -0400 Message-Id: <20220629124540.175775-8-tytso@mit.edu> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20220629124540.175775-1-tytso@mit.edu> References: <20220629124540.175775-1-tytso@mit.edu> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org The linux kernel commit 5f41fdaea63d ("ext4: only allow test_dummy_encryption when supported") the kernel will reject mounts with the test_dummy_encryption option if the ext4 file system does not have the encrypt feature enabled. There are a handful of tests (ext4/003, ext4/035, ext4/306, and generic/260) which will format the scratch file system using a hard-coded set of mkfs.ext4 parameters ignoring the MKFS_OPTION that is set by the file system test config. For file system configs which includes test_dummy_encryption in MOUNT_OPTIONS and "-O encrypt" in MKFS_OPTIONS, we need to test for test_dummy_encryption and force the hard-coded mkfs options to enable the encrypt feature. Signed-off-by: Theodore Ts'o Reviewed-by: Zorro Lang --- tests/ext4/003 | 6 +++++- tests/ext4/035 | 5 ++++- tests/ext4/306 | 3 +++ tests/generic/260 | 5 ++++- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/tests/ext4/003 b/tests/ext4/003 index 773bcb03..6a4518e3 100755 --- a/tests/ext4/003 +++ b/tests/ext4/003 @@ -27,7 +27,11 @@ _require_scratch _require_scratch_ext4_feature "bigalloc" BLOCK_SIZE=$(get_page_size) -$MKFS_EXT4_PROG -F -b $BLOCK_SIZE -O bigalloc -C $(($BLOCK_SIZE * 16)) -g 256 $SCRATCH_DEV 512m \ +FEATURES=bigalloc +if echo "${MOUNT_OPTIONS}" | grep -q 'test_dummy_encryption' ; then + FEATURES=${FEATURES},encrypt +fi +$MKFS_EXT4_PROG -F -b $BLOCK_SIZE -O ${FEATURES} -C $(($BLOCK_SIZE * 16)) -g 256 $SCRATCH_DEV 512m \ >> $seqres.full 2>&1 _scratch_mount diff --git a/tests/ext4/035 b/tests/ext4/035 index 1f26e766..a1ccce45 100755 --- a/tests/ext4/035 +++ b/tests/ext4/035 @@ -25,7 +25,10 @@ _require_scratch _exclude_scratch_mount_option dax _require_command "$RESIZE2FS_PROG" resize2fs -$MKFS_EXT4_PROG -F -b 1024 -E "resize=262144" $SCRATCH_DEV 32768 >> $seqres.full 2>&1 +if echo "${MOUNT_OPTIONS}" | grep -q 'test_dummy_encryption' ; then + ENCRYPT="-O encrypt" +fi +$MKFS_EXT4_PROG -F -b 1024 -E "resize=262144" $ENCRYPT $SCRATCH_DEV 32768 >> $seqres.full 2>&1 if [ $? -ne 0 ]; then _notrun "Can't make file system with a block size of 1024" fi diff --git a/tests/ext4/306 b/tests/ext4/306 index 2ff88537..a6b7eab5 100755 --- a/tests/ext4/306 +++ b/tests/ext4/306 @@ -33,6 +33,9 @@ features="^extents" if grep -q 64bit /etc/mke2fs.conf ; then features="^extents,^64bit" fi +if echo "${MOUNT_OPTIONS}" | grep -q 'test_dummy_encryption' ; then + features=${features},encrypt +fi blksz=$(get_page_size) diff --git a/tests/generic/260 b/tests/generic/260 index b4d72e0f..e86afe9c 100755 --- a/tests/generic/260 +++ b/tests/generic/260 @@ -120,7 +120,10 @@ case $FSTYP in bsize=4096 start=$(_math "$base*$agsize*$bsize") len=$start - export MKFS_OPTIONS="-F -b $bsize -g $agsize" + if echo "${MOUNT_OPTIONS}" | grep -q 'test_dummy_encryption' ; then + ENCRYPT="-O encrypt" + fi + export MKFS_OPTIONS="-F -b $bsize -g $agsize $ENCRYPT" ;; xfs) agsize=65538