From patchwork Wed Sep 14 01:55:22 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qu Wenruo X-Patchwork-Id: 9330215 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 101196048F for ; Wed, 14 Sep 2016 01:55:45 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F3C2229409 for ; Wed, 14 Sep 2016 01:55:44 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E65A42983B; Wed, 14 Sep 2016 01:55:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8DDC529409 for ; Wed, 14 Sep 2016 01:55:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752626AbcINBzk (ORCPT ); Tue, 13 Sep 2016 21:55:40 -0400 Received: from cn.fujitsu.com ([222.73.24.84]:59608 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1751091AbcINBzi (ORCPT ); Tue, 13 Sep 2016 21:55:38 -0400 X-IronPort-AV: E=Sophos;i="5.20,367,1444665600"; d="scan'208";a="841710" Received: from unknown (HELO cn.fujitsu.com) ([10.167.250.3]) by song.cn.fujitsu.com with ESMTP; 14 Sep 2016 09:55:35 +0800 Received: from adam-work.localdomain (unknown [10.167.226.34]) by cn.fujitsu.com (Postfix) with ESMTP id 846164056432; Wed, 14 Sep 2016 09:55:28 +0800 (CST) From: Qu Wenruo To: linux-btrfs@vger.kernel.org, fstests@vger.kernel.org Cc: fdmanana@gmail.com, mfasheh@suse.de Subject: [PATCH v6 1/6] fstests: common: Introduce _post_mount_hook for btrfs Date: Wed, 14 Sep 2016 09:55:22 +0800 Message-Id: <20160914015527.10274-2-quwenruo@cn.fujitsu.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20160914015527.10274-1-quwenruo@cn.fujitsu.com> References: <20160914015527.10274-1-quwenruo@cn.fujitsu.com> MIME-Version: 1.0 X-yoursite-MailScanner-ID: 846164056432.A952E X-yoursite-MailScanner: Found to be clean X-yoursite-MailScanner-From: quwenruo@cn.fujitsu.com Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Introduce _post_mount_hook(), which will be executed after mounting scratch/test. It's quite useful for fs(OK, only btrfs yet, again) which needs to use ioctl other than mount option to enable some of its feature. Now only btrfs quota needs this hook to allow enabling quota to be enabled for *ALL* existing test cases. This should dramatically improve the test coverage to expose quota related bugs. Signed-off-by: Qu Wenruo --- common/rc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/common/rc b/common/rc index 23c007a..631397f 100644 --- a/common/rc +++ b/common/rc @@ -321,6 +321,27 @@ _overlay_scratch_unmount() $UMOUNT_PROG $SCRATCH_MNT } +_run_btrfs_post_mount_hook() +{ + mnt_point=$1 + for n in $ALWAYS_ENABLE_BTRFS_FEATURE; do + if [ $n == "quota" -o $n == "qgroup" ]; then + # Quota can be enabled for several times + # and won't cause bug + _run_btrfs_util_prog quota enable $mnt_point + fi + done +} + +_post_mount_hook() +{ + mnt_point=$1 + + if [ $FSTYP == "btrfs" -a -v ALWAYS_ENABLE_BTRFS_FEATURE ]; then + _run_btrfs_post_mount_hook $mnt_point + fi +} + _scratch_mount() { if [ "$FSTYP" == "overlay" ]; then @@ -328,6 +349,7 @@ _scratch_mount() return $? fi _mount -t $FSTYP `_scratch_mount_options $*` + _post_mount_hook $SCRATCH_MNT } _scratch_unmount() @@ -377,6 +399,7 @@ _test_mount() fi _test_options mount _mount -t $FSTYP $TEST_OPTIONS $TEST_FS_MOUNT_OPTS $SELINUX_MOUNT_OPTIONS $* $TEST_DEV $TEST_DIR + _post_mount_hook $TEST_DIR } _test_unmount()