From patchwork Sun May 31 11:01:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amir Goldstein X-Patchwork-Id: 11580649 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1F5BF90 for ; Sun, 31 May 2020 11:02:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 02FA5206E2 for ; Sun, 31 May 2020 11:02:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="aK3zD/Is" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729636AbgEaLCL (ORCPT ); Sun, 31 May 2020 07:02:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59944 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726020AbgEaLCG (ORCPT ); Sun, 31 May 2020 07:02:06 -0400 Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2D582C061A0E; Sun, 31 May 2020 04:02:06 -0700 (PDT) Received: by mail-wr1-x430.google.com with SMTP id l11so8638564wru.0; Sun, 31 May 2020 04:02:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=n32a/poMcKnM2/4gUcrU/a+tbrotBbiPg7VuMcoStXE=; b=aK3zD/IsSoutuN2lGFOpFWwF2KU3UfasEPD1qS6XKO5GlWgap96h3OWKa8OGZDkM9T JzzorBaqdiqyKxpRTRjzha1qdEwTNRkbG2d9vBxUgIvfkG+PjMknwyX2QJndLA4tw8C3 MaMT7MJIPKBbiTp1ovLRg7rAIjZ5Mj+/7cOvFqK+bXVHuz3ZM3UDpPb600q8PbcLVXQ+ B/un6RVSDWZZ+4bfFUJRaA0gyuAN8FJTYwwwQO5pedXds9ZNI8XlgqjmsciRUTFetfvM GpL39IYx9y1cR0IaWZ9O8B1IuQBarkt58uuIApBjr1qHF5DYBX94L9c8ELqgDHgQY486 V18Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=n32a/poMcKnM2/4gUcrU/a+tbrotBbiPg7VuMcoStXE=; b=q4hDODlEbD+vVrGgsJEDV9tA1gciLwGK146WlSkMaw1jpm9utaDIVcgsf+N2qC9CoT e8hTBp18X0KbpxJskfwaJQdptDNqG81UhMCK8G0yKhpLIR15UvUSwC6qWRpn1IzmHCSa +0sxr/Y0mBkaIgjNzZA+JMQKqNqbbL3+X+IPP+DzqeCjTJkbK69d0+V4Mgxf9yea8MlR vzSeDqXGwDoS4HBJS6pfU2amazji2XYMl3XntdmBkR8kM9vp/N/W8K98/Eg8AZ8SQ30I 95I6HW7/rc9DO641VBU829l2fm8uD/notZTX9U8JyvVxSSadaKTos920hN1AdKClGjxa KVFg== X-Gm-Message-State: AOAM5323ZC8BDpMb024y6FVVJwFj8LUO7IupXZe5T/EqD9wmQTAVwow+ WeOXXNg3WWrcUt6w8Q5deJM= X-Google-Smtp-Source: ABdhPJzz+tiWrVnrBb+9fr5Ljfzn8FODYVr1Bk/fTWpdX2qT6mvAbRDm+V6Vlhb1EtqqFAINZV3++g== X-Received: by 2002:a5d:4dc9:: with SMTP id f9mr16687855wru.407.1590922924685; Sun, 31 May 2020 04:02:04 -0700 (PDT) Received: from localhost.localdomain ([141.226.12.123]) by smtp.gmail.com with ESMTPSA id j190sm7846430wmb.33.2020.05.31.04.02.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 May 2020 04:02:04 -0700 (PDT) From: Amir Goldstein To: Eryu Guan Cc: Miklos Szeredi , Vivek Goyal , linux-unionfs@vger.kernel.org, fstests@vger.kernel.org Subject: [PATCH 1/3] overlay: run unionmount testsuite test cases Date: Sun, 31 May 2020 14:01:54 +0300 Message-Id: <20200531110156.6613-2-amir73il@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200531110156.6613-1-amir73il@gmail.com> References: <20200531110156.6613-1-amir73il@gmail.com> Sender: fstests-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org Add support for running unionmount-testsuite from xfstests. This requires that unionmount-testsuite is installed under src dir or that UNIONMOUNT_TESTSUITE variable points to the location of the testsuite. It also requires a recent version of unionmount-testsuite that supports setting basedir path via UNIONMOUNT_* environment variables. Add tests for three basic configurations: 1. overlay with upper/lower on same fs 2. overlay with upper/lower not on same fs without xino 3. overlay with upper/lower not on same fs with xino The samefs test uses scratch partition for lower/upper layers. The non samefs tests use the scratch partition for upper layer and the test partition for lower layer. Signed-off-by: Amir Goldstein --- README.overlay | 15 ++++++++++++ common/config | 2 ++ common/overlay | 54 +++++++++++++++++++++++++++++++++++++++++++ tests/overlay/100 | 38 ++++++++++++++++++++++++++++++ tests/overlay/100.out | 2 ++ tests/overlay/101 | 39 +++++++++++++++++++++++++++++++ tests/overlay/101.out | 2 ++ tests/overlay/102 | 40 ++++++++++++++++++++++++++++++++ tests/overlay/102.out | 2 ++ tests/overlay/group | 3 +++ 10 files changed, 197 insertions(+) create mode 100755 tests/overlay/100 create mode 100644 tests/overlay/100.out create mode 100755 tests/overlay/101 create mode 100644 tests/overlay/101.out create mode 100755 tests/overlay/102 create mode 100644 tests/overlay/102.out diff --git a/README.overlay b/README.overlay index 30b5ddb2..39e25ada 100644 --- a/README.overlay +++ b/README.overlay @@ -50,3 +50,18 @@ In the example above, MOUNT_OPTIONS will be used to mount the base scratch fs, TEST_FS_MOUNT_OPTS will be used to mount the base test fs, OVERLAY_MOUNT_OPTIONS will be used to mount both test and scratch overlay and OVERLAY_FSCK_OPTIONS will be used to check both test and scratch overlay. + + +Unionmount Testsuite +==================== + +xfstests can be used as a test harness to run unionmount testsuite test cases +and provide extended test coverage for overlayfs. + +To enable running unionmount testsuite, clone the git repository from: + https://github.com/amir73il/unionmount-testsuite.git +under the xfstests src directory, or set the environment variable +UNIONMOUNT_TESTSUITE to the local path where the repository was cloned. + +Run './check -overlay -g overlay/union' to execute all the unionmount testsuite +test cases. diff --git a/common/config b/common/config index 8023273d..e356bcda 100644 --- a/common/config +++ b/common/config @@ -71,6 +71,8 @@ export OVL_LOWER="ovl-lower" export OVL_WORK="ovl-work" # overlay mount point parent must be the base fs root export OVL_MNT="ovl-mnt" +# By default unionmount-testsuite is expected under src +export UNIONMOUNT_TESTSUITE=${UNIONMOUNT_TESTSUITE:=$here/src/unionmount-testsuite} # From e2fsprogs/e2fsck/e2fsck.h: # Exit code used by fsck-type programs diff --git a/common/overlay b/common/overlay index f8e1e27f..5e6a7e0f 100644 --- a/common/overlay +++ b/common/overlay @@ -363,3 +363,57 @@ _repair_overlay_scratch_fs() esac return $res } + +# This test requires that unionmount testsuite is installed at +# $UNIONMOUNT_TESTSUITE and that it supports configuring layers and overlay +# mount paths via UNIONMOUNT_* environment variables. +_require_unionmount_testsuite() +{ + [ -x "$UNIONMOUNT_TESTSUITE/run" ] || \ + _notrun "unionmount testsuite required." + + # Verify that UNIONMOUNT_* vars are supported + local usage=`UNIONMOUNT_BASEDIR=_ "$UNIONMOUNT_TESTSUITE/run" 2>&1` + echo $usage | grep -wq "UNIONMOUNT_BASEDIR" || \ + _notrun "newer version of unionmount testsuite required." +} + +_unionmount_testsuite_run() +{ + [ "$FSTYP" = overlay ] || \ + _notrun "Filesystem $FSTYP not supported with unionmount testsuite." + + # Provide the mounted base fs for upper and lower dirs and the + # overlay mount point. + # unionmount testsuite will perform the overlay mount. + # test fs is used for lower layer in non-samefs runs. + # scratch fs is used for upper layer in non-samefs runs and + # for both layers in samefs runs. + if (echo $* | grep -qv samefs) ; then + _overlay_base_test_mount + export UNIONMOUNT_LOWERDIR=$OVL_BASE_TEST_DIR/union + fi + export UNIONMOUNT_BASEDIR=$OVL_BASE_SCRATCH_MNT/union + + _scratch_mkfs + rm -rf $UNIONMOUNT_BASEDIR $UNIONMOUNT_LOWERDIR + mkdir -p $UNIONMOUNT_BASEDIR $UNIONMOUNT_LOWERDIR + + cd $UNIONMOUNT_TESTSUITE + echo "run $* ..." > $seqres.full + ./run $* >> $seqres.full || \ + echo "unionmount testsuite failed! see $seqres.full for details." +} + +_unionmount_testsuite_cleanup() +{ + cd / + rm -f $tmp.* + + [ -n "$UNIONMOUNT_BASEDIR" ] || return 0 + + # Cleanup overlay mount after unionmount testsuite run + cd $UNIONMOUNT_TESTSUITE + echo "run --clean-up ..." >> $seqres.full + ./run --clean-up >> $seqres.full 2>&1 +} diff --git a/tests/overlay/100 b/tests/overlay/100 new file mode 100755 index 00000000..a2e82dfa --- /dev/null +++ b/tests/overlay/100 @@ -0,0 +1,38 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 100 +# +# Run unionmount testsuite to verify correctness +# with single lower layer on same fs as upper +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ov --samefs --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/100.out b/tests/overlay/100.out new file mode 100644 index 00000000..798c0136 --- /dev/null +++ b/tests/overlay/100.out @@ -0,0 +1,2 @@ +QA output created by 100 +Silence is golden diff --git a/tests/overlay/101 b/tests/overlay/101 new file mode 100755 index 00000000..2b3a75d4 --- /dev/null +++ b/tests/overlay/101 @@ -0,0 +1,39 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 101 +# +# Run unionmount testsuite to verify correctness +# with single lower layer not on same fs as upper +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ov --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/101.out b/tests/overlay/101.out new file mode 100644 index 00000000..e651a915 --- /dev/null +++ b/tests/overlay/101.out @@ -0,0 +1,2 @@ +QA output created by 101 +Silence is golden diff --git a/tests/overlay/102 b/tests/overlay/102 new file mode 100755 index 00000000..2dddbe50 --- /dev/null +++ b/tests/overlay/102 @@ -0,0 +1,40 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 102 +# +# Run unionmount testsuite to verify correctness +# with single lower layer not on same fs as upper +# with xino enabled +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ov --xino --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/102.out b/tests/overlay/102.out new file mode 100644 index 00000000..86dd1f96 --- /dev/null +++ b/tests/overlay/102.out @@ -0,0 +1,2 @@ +QA output created by 102 +Silence is golden diff --git a/tests/overlay/group b/tests/overlay/group index 0cebcad0..267161f4 100644 --- a/tests/overlay/group +++ b/tests/overlay/group @@ -77,3 +77,6 @@ 072 auto quick copyup hardlink 073 auto quick whiteout 074 auto quick exportfs dangerous +100 auto quick union samefs +101 auto quick union nonsamefs +102 auto quick union nonsamefs xino From patchwork Sun May 31 11:01:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amir Goldstein X-Patchwork-Id: 11580651 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DBB76739 for ; Sun, 31 May 2020 11:02:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B1FD92077D for ; Sun, 31 May 2020 11:02:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="J7MZzG7s" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726020AbgEaLCQ (ORCPT ); Sun, 31 May 2020 07:02:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59950 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728277AbgEaLCI (ORCPT ); Sun, 31 May 2020 07:02:08 -0400 Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A2B44C05BD43; Sun, 31 May 2020 04:02:07 -0700 (PDT) Received: by mail-wm1-x341.google.com with SMTP id f185so8557521wmf.3; Sun, 31 May 2020 04:02:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=6y6ybSFvJzj8la441aFZb6Q4CuXXKgdXsZPwGPiuBEA=; b=J7MZzG7sxeToKzXANPZ9hVDL/o2Sij/z2BRXjSJJbustIq51hNUuYSzsl4gQW9zhYc ce9mz8n+ixjSQQi+M/PM6eM8Eflr2nZZDAnLjnJbwOA6SnkY2QNFsd6X/WtnJAJRhl1P UbbcNSo72q8zvECLEN/mnO+1yxP69OAOEzQx7qnXh97yQ0XdwYcXNEw8jS5+W3l6JwWt WUVVPOuBGEw++ZxaBWf0urvuNHy58QNJLH+3UzSirlBqdF9F9rRlXODdjKKTz02PX43G NhbeM4pw8vlLVXz3DZBi3z0oLigamy+NQNQDcViF/QBLlXa3bVabM5oIAXAOlrecAU2b GIUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=6y6ybSFvJzj8la441aFZb6Q4CuXXKgdXsZPwGPiuBEA=; b=Hct5/tRHyRclpSPvCp2fcORxBw0d/xJmTOqK+t3slQjCZhiOoMuoPMSDF9HPOsE27L EIeMvPZpW5j0SQ9oyKJCaJBLFMkNgwFUYtSSwNyrggDdr164YUuDqNxhs4TqUPXfYfV8 EzJZoyhTeOZY2o7TnNUpmkMIKgm175HeZGLOcZaBpTnKyVJ04fWTs2lRkgoc6jbGSO7R PERZC2TM81nM3pDsgnEa3i5MyxIysR2yx4yodjZ7y/j1IkWQyb8S3jC2ixq69ysJoKbY JFXykXySgb38bwywiZBEaxNfSROZbLH8Wkhgs9n2TiS2eP0/SfDO9IMDgVSsTRMtr9nr dXEw== X-Gm-Message-State: AOAM532+jdALjGwMSgHwNstPPf88vVkuupzTPd4zzYn4OQig6rsyJTlK TN3iLhGJIkixye/AHhJ1Goo= X-Google-Smtp-Source: ABdhPJyfWfMF2AlGIFcGe6qswDUlvvFIyuDWJ36NsBbZX0SekQirBCb8CxWAK8II68pVMRj7qgSghg== X-Received: by 2002:a1c:7e52:: with SMTP id z79mr17689605wmc.104.1590922926213; Sun, 31 May 2020 04:02:06 -0700 (PDT) Received: from localhost.localdomain ([141.226.12.123]) by smtp.gmail.com with ESMTPSA id j190sm7846430wmb.33.2020.05.31.04.02.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 May 2020 04:02:05 -0700 (PDT) From: Amir Goldstein To: Eryu Guan Cc: Miklos Szeredi , Vivek Goyal , linux-unionfs@vger.kernel.org, fstests@vger.kernel.org Subject: [PATCH 2/3] overlay: add unionmount tests with multi lower layers Date: Sun, 31 May 2020 14:01:55 +0300 Message-Id: <20200531110156.6613-3-amir73il@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200531110156.6613-1-amir73il@gmail.com> References: <20200531110156.6613-1-amir73il@gmail.com> Sender: fstests-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org The tests with multi lower layers rotate the upper layer into a lower layer on specific operations such as mkdir, rename and link. That provides test coverage for redirect_dir and index features. The following variations are covered: 1. All layers all on scratch fs (--ov=10 --samefs) 2. All layers on scratch fs expect for lowermost on test fs (--ov=10) 3. Lowermost layer on test fs, one layer on tmpfs and the rest on sratch fs (--ov=10 --maxfs=1) 4. Lowermost layer on test fs, one layer on scratch fs and the rest are unique tmpfs instances (--ov=10 --maxfs=10) Signed-off-by: Amir Goldstein --- tests/overlay/103 | 38 ++++++++++++++++++++++++++++++++++++++ tests/overlay/103.out | 2 ++ tests/overlay/104 | 39 +++++++++++++++++++++++++++++++++++++++ tests/overlay/104.out | 2 ++ tests/overlay/105 | 40 ++++++++++++++++++++++++++++++++++++++++ tests/overlay/105.out | 2 ++ tests/overlay/106 | 41 +++++++++++++++++++++++++++++++++++++++++ tests/overlay/106.out | 2 ++ tests/overlay/107 | 41 +++++++++++++++++++++++++++++++++++++++++ tests/overlay/107.out | 2 ++ tests/overlay/108 | 41 +++++++++++++++++++++++++++++++++++++++++ tests/overlay/108.out | 2 ++ tests/overlay/109 | 41 +++++++++++++++++++++++++++++++++++++++++ tests/overlay/109.out | 2 ++ tests/overlay/group | 7 +++++++ 15 files changed, 302 insertions(+) create mode 100755 tests/overlay/103 create mode 100644 tests/overlay/103.out create mode 100755 tests/overlay/104 create mode 100644 tests/overlay/104.out create mode 100755 tests/overlay/105 create mode 100644 tests/overlay/105.out create mode 100755 tests/overlay/106 create mode 100644 tests/overlay/106.out create mode 100755 tests/overlay/107 create mode 100644 tests/overlay/107.out create mode 100755 tests/overlay/108 create mode 100644 tests/overlay/108.out create mode 100755 tests/overlay/109 create mode 100644 tests/overlay/109.out diff --git a/tests/overlay/103 b/tests/overlay/103 new file mode 100755 index 00000000..fb7fce0c --- /dev/null +++ b/tests/overlay/103 @@ -0,0 +1,38 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 103 +# +# Run unionmount testsuite to verify correctness +# with multi lower layers on same fs as upper +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ov=10 --samefs --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/103.out b/tests/overlay/103.out new file mode 100644 index 00000000..78212a3d --- /dev/null +++ b/tests/overlay/103.out @@ -0,0 +1,2 @@ +QA output created by 103 +Silence is golden diff --git a/tests/overlay/104 b/tests/overlay/104 new file mode 100755 index 00000000..f867f345 --- /dev/null +++ b/tests/overlay/104 @@ -0,0 +1,39 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 104 +# +# Run unionmount testsuite to verify correctness +# with multi lower layers, lowermost on unique fs +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ov=10 --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/104.out b/tests/overlay/104.out new file mode 100644 index 00000000..3f3bd2e8 --- /dev/null +++ b/tests/overlay/104.out @@ -0,0 +1,2 @@ +QA output created by 104 +Silence is golden diff --git a/tests/overlay/105 b/tests/overlay/105 new file mode 100755 index 00000000..f964c58e --- /dev/null +++ b/tests/overlay/105 @@ -0,0 +1,40 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 105 +# +# Run unionmount testsuite to verify correctness +# with multi lower layers, lowermost on unique fs, +# with xino enabled +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ov=10 --xino --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/105.out b/tests/overlay/105.out new file mode 100644 index 00000000..edaafd46 --- /dev/null +++ b/tests/overlay/105.out @@ -0,0 +1,2 @@ +QA output created by 105 +Silence is golden diff --git a/tests/overlay/106 b/tests/overlay/106 new file mode 100755 index 00000000..52d6c7d0 --- /dev/null +++ b/tests/overlay/106 @@ -0,0 +1,41 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 106 +# +# Run unionmount testsuite to verify correctness +# with multi lower layers, some layers on unique fs, +# one layer is on tmpfs. +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_tmpfs +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ov=10 --maxfs=1 --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/106.out b/tests/overlay/106.out new file mode 100644 index 00000000..85af05d8 --- /dev/null +++ b/tests/overlay/106.out @@ -0,0 +1,2 @@ +QA output created by 106 +Silence is golden diff --git a/tests/overlay/107 b/tests/overlay/107 new file mode 100755 index 00000000..abcde30c --- /dev/null +++ b/tests/overlay/107 @@ -0,0 +1,41 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 107 +# +# Run unionmount testsuite to verify correctness +# with multi lower layers, some layers on unique fs, +# one layer is on tmpfs with xino enabled. +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_tmpfs +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ov=10 --maxfs=1 --xino --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/107.out b/tests/overlay/107.out new file mode 100644 index 00000000..862bdfbd --- /dev/null +++ b/tests/overlay/107.out @@ -0,0 +1,2 @@ +QA output created by 107 +Silence is golden diff --git a/tests/overlay/108 b/tests/overlay/108 new file mode 100755 index 00000000..d4e9b570 --- /dev/null +++ b/tests/overlay/108 @@ -0,0 +1,41 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 108 +# +# Run unionmount testsuite to verify correctness +# with multi lower layers, all layers on unique fs, +# some layers are on tmpfs. +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_tmpfs +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ov=10 --maxfs=10 --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/108.out b/tests/overlay/108.out new file mode 100644 index 00000000..326ffa96 --- /dev/null +++ b/tests/overlay/108.out @@ -0,0 +1,2 @@ +QA output created by 108 +Silence is golden diff --git a/tests/overlay/109 b/tests/overlay/109 new file mode 100755 index 00000000..71072982 --- /dev/null +++ b/tests/overlay/109 @@ -0,0 +1,41 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 109 +# +# Run unionmount testsuite to verify correctness +# with multi lower layers, all layers on unique fs, +# some layers are on tmpfs with xino enabled. +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_tmpfs +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ov=10 --maxfs=10 --xino --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/109.out b/tests/overlay/109.out new file mode 100644 index 00000000..8356befa --- /dev/null +++ b/tests/overlay/109.out @@ -0,0 +1,2 @@ +QA output created by 109 +Silence is golden diff --git a/tests/overlay/group b/tests/overlay/group index 267161f4..079ff0af 100644 --- a/tests/overlay/group +++ b/tests/overlay/group @@ -80,3 +80,10 @@ 100 auto quick union samefs 101 auto quick union nonsamefs 102 auto quick union nonsamefs xino +103 auto union rotate samefs +104 auto union rotate nonsamefs +105 auto union rotate nonsamefs xino +106 auto union rotate nonsamefs +107 auto union rotate nonsamefs xino +108 auto union rotate nonsamefs +109 auto union rotate nonsamefs xino From patchwork Sun May 31 11:01:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amir Goldstein X-Patchwork-Id: 11580653 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 0CD74157C for ; Sun, 31 May 2020 11:02:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E4A7820707 for ; Sun, 31 May 2020 11:02:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="sV9wg1HU" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728277AbgEaLCR (ORCPT ); Sun, 31 May 2020 07:02:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59958 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728292AbgEaLCJ (ORCPT ); Sun, 31 May 2020 07:02:09 -0400 Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3BA24C061A0E; Sun, 31 May 2020 04:02:09 -0700 (PDT) Received: by mail-wr1-x444.google.com with SMTP id y17so8520232wrn.11; Sun, 31 May 2020 04:02:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=njmwgWPUw/GV5aYZwf+RIQBn0ZuJmsiVzCYdG8QWhyE=; b=sV9wg1HUMk5EkweD+ZBpJy6+lB5rGC0gRK4KE3wk5sfh6b7CMJVSsEuxAEH7r8BJcG RgEatZQph6vVFGJ2VuAcYvEImbss4/prwXp8dUaOvdEvHMbiuRKgY1Wwx17g4DZSYP2j ATMsxHeguvdKxsaLoouAcQqfN2cTmFfQIfxm5qNqoZezel9p+/cbi4oPuIM68yfXd16j JLLRVPhMU6vxxkg2zZVFONsHJan729IBLLavw9By/zb5hB36adT8IYRqvKIcv6vlQPCb fwzYjXC3SoMt5P8cDOp8JPPwhG49fUPTafGs88m5LTU4gDwhrLmEmZ9e+1gK/+hTkCCU e68A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=njmwgWPUw/GV5aYZwf+RIQBn0ZuJmsiVzCYdG8QWhyE=; b=hL7ZwZvfJ/fnjqDa1BoOyBpfR0AqcWeNWCyspzVXfLIFya4Py8HhLE1CW8SsKmErhh uL4lda0t1u11aNN6FdMkSxbnzqvdwg6rCIY8/nN8HyZYy8x3albSzmulhtJw6ONboU9m v1pgKjtdiTs1ECVx0bw8TydNxMFPKyjTZNDtv3GAKf/5WXWyyZ+zccdpO1G7zMLD1kVK eQDNphlvw735OnPiSAQhpUoPxihdasJvD5B1t2fwjnNAXfNGepnmP916kiODR7h5qJqJ cucTMUrYBD79ZSrVWjLK5YjTK545jRz0hlCz9f2Mr0keefIneXyDuI7wMcOxaLZNiPZ1 J6zw== X-Gm-Message-State: AOAM530GULlv6l7STErFnMQPCc/xI0VXQZpt6Afvt11faR0tZCWi125n 19Vuxr2dzcu7lV3Xv/tpABU= X-Google-Smtp-Source: ABdhPJzUAgd4UXi3cGSG8BYEbK1wovBvu11yix4efUV3JPWtjr2iTMY77FCN13yTjbVKRBnEzy67uA== X-Received: by 2002:a5d:68c2:: with SMTP id p2mr17072302wrw.253.1590922927709; Sun, 31 May 2020 04:02:07 -0700 (PDT) Received: from localhost.localdomain ([141.226.12.123]) by smtp.gmail.com with ESMTPSA id j190sm7846430wmb.33.2020.05.31.04.02.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 May 2020 04:02:07 -0700 (PDT) From: Amir Goldstein To: Eryu Guan Cc: Miklos Szeredi , Vivek Goyal , linux-unionfs@vger.kernel.org, fstests@vger.kernel.org Subject: [PATCH 3/3] overlay: add unionmount tests with nested overlay Date: Sun, 31 May 2020 14:01:56 +0300 Message-Id: <20200531110156.6613-4-amir73il@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200531110156.6613-1-amir73il@gmail.com> References: <20200531110156.6613-1-amir73il@gmail.com> Sender: fstests-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org These tests use an overlay mount as lower layer for a nested overlay. That provides test coverage for a lower layer with null uuid and lower layer with real inode numbers that use the high xino bits. Signed-off-by: Amir Goldstein --- tests/overlay/110 | 39 +++++++++++++++++++++++++++++++++++++++ tests/overlay/110.out | 2 ++ tests/overlay/111 | 40 ++++++++++++++++++++++++++++++++++++++++ tests/overlay/111.out | 2 ++ tests/overlay/112 | 40 ++++++++++++++++++++++++++++++++++++++++ tests/overlay/112.out | 2 ++ tests/overlay/113 | 41 +++++++++++++++++++++++++++++++++++++++++ tests/overlay/113.out | 2 ++ tests/overlay/114 | 39 +++++++++++++++++++++++++++++++++++++++ tests/overlay/114.out | 2 ++ tests/overlay/115 | 40 ++++++++++++++++++++++++++++++++++++++++ tests/overlay/115.out | 2 ++ tests/overlay/116 | 40 ++++++++++++++++++++++++++++++++++++++++ tests/overlay/116.out | 2 ++ tests/overlay/117 | 41 +++++++++++++++++++++++++++++++++++++++++ tests/overlay/117.out | 2 ++ tests/overlay/group | 8 ++++++++ 17 files changed, 344 insertions(+) create mode 100755 tests/overlay/110 create mode 100644 tests/overlay/110.out create mode 100755 tests/overlay/111 create mode 100644 tests/overlay/111.out create mode 100755 tests/overlay/112 create mode 100644 tests/overlay/112.out create mode 100755 tests/overlay/113 create mode 100644 tests/overlay/113.out create mode 100755 tests/overlay/114 create mode 100644 tests/overlay/114.out create mode 100755 tests/overlay/115 create mode 100644 tests/overlay/115.out create mode 100755 tests/overlay/116 create mode 100644 tests/overlay/116.out create mode 100755 tests/overlay/117 create mode 100644 tests/overlay/117.out diff --git a/tests/overlay/110 b/tests/overlay/110 new file mode 100755 index 00000000..8d34f23e --- /dev/null +++ b/tests/overlay/110 @@ -0,0 +1,39 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 110 +# +# Run unionmount testsuite on a nested overlay filesystem +# with single lower overlay layer, whose layers are +# on same fs +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov --samefs --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/110.out b/tests/overlay/110.out new file mode 100644 index 00000000..4284b8b0 --- /dev/null +++ b/tests/overlay/110.out @@ -0,0 +1,2 @@ +QA output created by 110 +Silence is golden diff --git a/tests/overlay/111 b/tests/overlay/111 new file mode 100755 index 00000000..b99f94da --- /dev/null +++ b/tests/overlay/111 @@ -0,0 +1,40 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 111 +# +# Run unionmount testsuite on a nested overlay filesystem +# with single lower overlay layer, whose layers are +# on same fs +# with xino enabled (xino overflow not expected) +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov --samefs --xino --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/111.out b/tests/overlay/111.out new file mode 100644 index 00000000..fedcd590 --- /dev/null +++ b/tests/overlay/111.out @@ -0,0 +1,2 @@ +QA output created by 111 +Silence is golden diff --git a/tests/overlay/112 b/tests/overlay/112 new file mode 100755 index 00000000..5e8f980b --- /dev/null +++ b/tests/overlay/112 @@ -0,0 +1,40 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 112 +# +# Run unionmount testsuite on a nested overlay filesystem +# with single lower overlay layer, whose layers are +# not on same fs +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/112.out b/tests/overlay/112.out new file mode 100644 index 00000000..0f75273b --- /dev/null +++ b/tests/overlay/112.out @@ -0,0 +1,2 @@ +QA output created by 112 +Silence is golden diff --git a/tests/overlay/113 b/tests/overlay/113 new file mode 100755 index 00000000..b865f364 --- /dev/null +++ b/tests/overlay/113 @@ -0,0 +1,41 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 113 +# +# Run unionmount testsuite on a nested overlay filesystem +# with single lower overlay layer, whose layers are +# not on same fs +# with xino enabled (expected xino overflows) +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov --xino --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/113.out b/tests/overlay/113.out new file mode 100644 index 00000000..5cdea7de --- /dev/null +++ b/tests/overlay/113.out @@ -0,0 +1,2 @@ +QA output created by 113 +Silence is golden diff --git a/tests/overlay/114 b/tests/overlay/114 new file mode 100755 index 00000000..fc783f57 --- /dev/null +++ b/tests/overlay/114 @@ -0,0 +1,39 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 114 +# +# Run unionmount testsuite on a nested overlay filesystem +# with multi lower layers, lowermost is an overlay layer, +# whose layers are on same fs +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov=10 --samefs --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/114.out b/tests/overlay/114.out new file mode 100644 index 00000000..a2aa4a21 --- /dev/null +++ b/tests/overlay/114.out @@ -0,0 +1,2 @@ +QA output created by 114 +Silence is golden diff --git a/tests/overlay/115 b/tests/overlay/115 new file mode 100755 index 00000000..b82128d6 --- /dev/null +++ b/tests/overlay/115 @@ -0,0 +1,40 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 115 +# +# Run unionmount testsuite on a nested overlay filesystem +# with multi lower layers, lowermost is an overlay layer, +# whose layers are on same fs +# with xino enabled (xino overflow not expected) +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov=10 --samefs --xino --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/115.out b/tests/overlay/115.out new file mode 100644 index 00000000..d9dd136f --- /dev/null +++ b/tests/overlay/115.out @@ -0,0 +1,2 @@ +QA output created by 115 +Silence is golden diff --git a/tests/overlay/116 b/tests/overlay/116 new file mode 100755 index 00000000..1575bece --- /dev/null +++ b/tests/overlay/116 @@ -0,0 +1,40 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 116 +# +# Run unionmount testsuite on a nested overlay filesystem +# with multi lower layers, lowermost is an overlay layer, +# whose layers are not on same fs +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov=10 --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/116.out b/tests/overlay/116.out new file mode 100644 index 00000000..a2013bc3 --- /dev/null +++ b/tests/overlay/116.out @@ -0,0 +1,2 @@ +QA output created by 116 +Silence is golden diff --git a/tests/overlay/117 b/tests/overlay/117 new file mode 100755 index 00000000..819edc9b --- /dev/null +++ b/tests/overlay/117 @@ -0,0 +1,41 @@ +#! /bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2020 CTERA Networks. All Rights Reserved. +# +# FS QA Test 117 +# +# Run unionmount testsuite on a nested overlay filesystem +# with multi lower layers, lowermost is an overlay layer, +# whose layers are not on same fs +# with xino enabled (expected xino overflows) +# +seq=`basename $0` +seqres=$RESULT_DIR/$seq +echo "QA output created by $seq" + +here=`pwd` +tmp=/tmp/$$ +status=1 # failure is the default! +trap "_unionmount_testsuite_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common/rc +. ./common/filter + +# remove previous $seqres.full before test +rm -f $seqres.full + +# real QA test starts here + +_supported_fs overlay +_supported_os Linux +_require_test +_require_scratch +_require_unionmount_testsuite + +_unionmount_testsuite_run --ovov=10 --xino --verify + +# success, all done +echo "Silence is golden" +status=0 +exit diff --git a/tests/overlay/117.out b/tests/overlay/117.out new file mode 100644 index 00000000..986c5152 --- /dev/null +++ b/tests/overlay/117.out @@ -0,0 +1,2 @@ +QA output created by 117 +Silence is golden diff --git a/tests/overlay/group b/tests/overlay/group index 079ff0af..047ea046 100644 --- a/tests/overlay/group +++ b/tests/overlay/group @@ -87,3 +87,11 @@ 107 auto union rotate nonsamefs xino 108 auto union rotate nonsamefs 109 auto union rotate nonsamefs xino +110 auto quick union nested samefs +111 auto quick union nested samefs xino +112 auto quick union nested nonsamefs +113 auto quick union nested nonsamefs xino +114 auto union rotate nested samefs +115 auto union rotate nested samefs xino +116 auto union rotate nested nonsamefs +117 auto union rotate nested nonsamefs xino