From patchwork Tue Dec 3 12:46:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chao Yu X-Patchwork-Id: 13892355 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A877FE64A89 for ; Tue, 3 Dec 2024 12:48:31 +0000 (UTC) Received: from [127.0.0.1] (helo=sfs-ml-4.v29.lw.sourceforge.com) by sfs-ml-4.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1tISKL-0000VC-QW; Tue, 03 Dec 2024 12:48:29 +0000 Received: from [172.30.29.66] (helo=mx.sourceforge.net) by sfs-ml-4.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1tISKK-0000V6-LQ for linux-f2fs-devel@lists.sourceforge.net; Tue, 03 Dec 2024 12:48:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:MIME-Version:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=FLHAu82cxYdIVfY4w89LRkqxUpUj/cie6XCbNUo9i/o=; b=mb2cwH9DIhXpz6u2eFakGe4Gzc U4CnRC2qLWU9wlBhRU8HbIK5uQf//Q9WlnFkinXjkZUqh5ieIUMV63PPME/UEAlh8Jv32F3KZ1i8H tomXTetYalmRszed0MyYiPY76AsTDgXxsb3U9ULptvEjAV9H9TkXGbc5+GKtKSJktVIA=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:Subject:Cc:To:From :Sender:Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post: List-Owner:List-Archive; bh=FLHAu82cxYdIVfY4w89LRkqxUpUj/cie6XCbNUo9i/o=; b=a SJP/07RBjNKtmK6NKfe0YytYK616vy0vggSg1d0j4rr5JBuYiTOHWHKdHrUVOJPkCyLLmVEHNB/DP FEovxG5ypN6wn4O3tYW2u42Kxma6DB3IP5FQSFRxgkWFIVjlp73TftdHxb09k5ZWwEW7BbonLTj+8 WDUKPCOaiOtj9yPM=; Received: from dfw.source.kernel.org ([139.178.84.217]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1tISKJ-0000nH-Vt for linux-f2fs-devel@lists.sourceforge.net; Tue, 03 Dec 2024 12:48:28 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 9AAAD5C6CC6 for ; Tue, 3 Dec 2024 12:47:34 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D6F48C4CEDA; Tue, 3 Dec 2024 12:48:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1733230097; bh=9kkOUppllqfErLKqYMj32kwHN14CE3JFkuSoBkCnMYU=; h=From:To:Cc:Subject:Date:From; b=mE/6VDhDGJ9exN82I3g4d+BT3qNBahu777RtHjJVbJdle0xHPrGGRb2l5TESsJO9/ OZCcKn9KZ6sRLv243FlTICcbd6MRBxv6jkTivLKAKLFN/7MoM1gbCUVapxm7n/3LtV t93fpE2uNncMeR48Pm6GH7zAD/QjJ1Ra8SJ0hk+bgb15ec8DwYqfuPiAJLIJglxzJ0 Oaon4oWk8caw9y8FBJ0ngtMhexJMX3VslUW44u0jRk7RH8CMJqS4YL2Wp6ycl+bdQS K5HbPXf14htqeIvwS/PWzrJKq1ONtv0smn2d5fp8pRa+z0Rsr8ZL7A0gyPkCkU4wc6 a2jAdGBnBbRag== To: Zorro Lang , fstests@vger.kernel.org Date: Tue, 3 Dec 2024 20:46:56 +0800 Message-Id: <20241203124657.4997-1-chao@kernel.org> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 X-Headers-End: 1tISKJ-0000nH-Vt Subject: [f2fs-dev] [PATCH v2] f2fs/008: test snapshot creation/deletion on lvm device X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Chao Yu via Linux-f2fs-devel From: Chao Yu Reply-To: Chao Yu Cc: jaegeuk@kernel.org, linux-f2fs-devel@lists.sourceforge.net Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net This patch introduce a regression testcase to check whether f2fs can handle discard correctly once underlying lvm device changes to not support discard after user creates snapshot on it. Related bug was fixed by commit bc8aeb04fd80 ("f2fs: fix to drop all discards after creating snapshot on lvm device") Cc: Jaegeuk Kim Signed-off-by: Chao Yu --- v2: - fix typo tests/f2fs/008 | 53 ++++++++++++++++++++++++++++++++++++++++++++++ tests/f2fs/008.out | 2 ++ 2 files changed, 55 insertions(+) create mode 100755 tests/f2fs/008 create mode 100644 tests/f2fs/008.out diff --git a/tests/f2fs/008 b/tests/f2fs/008 new file mode 100755 index 00000000..38581c7b --- /dev/null +++ b/tests/f2fs/008 @@ -0,0 +1,53 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2024 Oppo. All Rights Reserved. +# +# FS QA Test No. f2fs/008 +# +# This is a regression test to check whether f2fs can handle +# discard correctly once underlying lvm device changes to not +# support discard after user creates snapshot on it. +# + +. ./common/preamble +_begin_fstest auto quick rw + +_fixed_by_kernel_commit bc8aeb04fd80 \ + "f2fs: fix to drop all discards after creating snapshot on lvm device" + +_require_scratch_nolvm +_require_block_device $SCRATCH_DEV +_require_command "$LVM_PROG" lvm + +lvname=lv_$seq +vgname=vg_$seq +testfile=$SCRATCH_MNT/testfile + +_cleanup() +{ + $LVM_PROG lvremove -f /dev/mapper/$lvname-snapshot $vgname >>$seqres.full 2>&1 + $LVM_PROG lvremove -f /dev/mapper/$vgname-$lvname >>$seqres.full 2>&1 + $LVM_PROG vgremove -f $vgname >>$seqres.full 2>&1 + $LVM_PROG pvremove -f $SCRATCH_DEV >>$seqres.full 2>&1 +} + +$LVM_PROG pvcreate -f $SCRATCH_DEV >>$seqres.full 2>&1 +$LVM_PROG vgcreate -f $vgname $SCRATCH_DEV >>$seqres.full 2>&1 +$LVM_PROG lvcreate -L 1024m -n $lvname $vgname >>$seqres.full 2>&1 + +$MKFS_F2FS_PROG /dev/mapper/$vgname-$lvname >>$seqres.full 2>&1 +mount -o discard /dev/mapper/$vgname-$lvname $SCRATCH_MNT >>$seqres.full 2>&1 + +dd if=/dev/zero of=$testfile bs=1M count=20 >>$seqres.full 2>&1 +sync +rm $testfile +sync + +# create a snapshot on lvm device +$LVM_PROG lvcreate -L 1024m -s -n $lvname-snapshot /dev/mapper/$vgname-$lvname >>$seqres.full 2>&1 +umount $SCRATCH_MNT + +echo "Silence is golden" + +status=0 +exit diff --git a/tests/f2fs/008.out b/tests/f2fs/008.out new file mode 100644 index 00000000..dd68d5a4 --- /dev/null +++ b/tests/f2fs/008.out @@ -0,0 +1,2 @@ +QA output created by 008 +Silence is golden