From patchwork Thu Jun 27 01:57:41 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josef Bacik X-Patchwork-Id: 2789411 Return-Path: X-Original-To: patchwork-linux-btrfs@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id EB3859F3A0 for ; Thu, 27 Jun 2013 01:57:50 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 03C80201C2 for ; Thu, 27 Jun 2013 01:57:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0E53B201BF for ; Thu, 27 Jun 2013 01:57:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751729Ab3F0B5q (ORCPT ); Wed, 26 Jun 2013 21:57:46 -0400 Received: from dkim2.fusionio.com ([66.114.96.54]:46801 "EHLO dkim2.fusionio.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751517Ab3F0B5p (ORCPT ); Wed, 26 Jun 2013 21:57:45 -0400 Received: from mx2.fusionio.com (unknown [10.101.1.160]) by dkim2.fusionio.com (Postfix) with ESMTP id D60799A0425 for ; Wed, 26 Jun 2013 19:57:44 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fusionio.com; s=default; t=1372298264; bh=2caeJcaFEObu1NCa0UTxD07PhhkV98ccftWugxBDx7Q=; h=From:To:Subject:Date; b=jlPza6t15qprWmfGJ9+OXV8//YpFf60kgUf6lB3Ooe0iQ5DhQR37Ll+SQ8qsC+QYt RSk+XPrlEk72SKQ+RTbvv4jg6g7E1Hepc8594W8y3/LAeo5idU9KvFn9eSA+BHXE+p gV7qf5kTUoJty+f+0Bz0NIm44L5ZddiJMRrOMvcw= X-ASG-Debug-ID: 1372298264-0421b5022290860001-6jHSXT Received: from CAS2.int.fusionio.com (cas2.int.fusionio.com [10.101.1.41]) by mx2.fusionio.com with ESMTP id Le8UJ5Bs6B6Rujqg (version=TLSv1 cipher=AES128-SHA bits=128 verify=NO); Wed, 26 Jun 2013 19:57:44 -0600 (MDT) X-Barracuda-Envelope-From: JBacik@fusionio.com Received: from localhost (10.101.1.160) by mail.fusionio.com (10.101.1.41) with Microsoft SMTP Server (TLS) id 14.3.123.3; Wed, 26 Jun 2013 19:57:43 -0600 From: Josef Bacik To: , , , Subject: [PATCH] xfstests: fix SCRATCH_DEV_POOL mount/umount issues Date: Wed, 26 Jun 2013 21:57:41 -0400 X-ASG-Orig-Subj: [PATCH] xfstests: fix SCRATCH_DEV_POOL mount/umount issues Message-ID: <1372298261-16801-1-git-send-email-jbacik@fusionio.com> X-Mailer: git-send-email 1.7.7.6 MIME-Version: 1.0 X-Originating-IP: [10.101.1.160] X-Barracuda-Connect: cas2.int.fusionio.com[10.101.1.41] X-Barracuda-Start-Time: 1372298264 X-Barracuda-Encrypted: AES128-SHA X-Barracuda-URL: http://10.101.1.181:8000/cgi-mod/mark.cgi X-Virus-Scanned: by bsmtpd at fusionio.com X-Barracuda-Spam-Score: 0.00 X-Barracuda-Spam-Status: No, SCORE=0.00 using global scores of TAG_LEVEL=1000.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=9.0 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.135072 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org X-Spam-Status: No, score=-8.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP If you use the SCRATCH_DEV_POOL for btrfs you will end up with the command line like this mkfs.btrfs $SCRATCH_DEV_POOL $SCRATCH_DEV and btrfs does this thing where it makes the lowest valued device id show up in /proc/mounts no matter which device you specify at the mount command. So in this case mount will show the first device in $SCRATCH_DEV_POOL instead of $SCRATCH_DEV, so anybody who wants to just use the scratch mnt with the scratch dev will fail to work because we never unmount the scratch mount. Fix this by checking to see if the scratch dev pool is mounted at scratch mnt and unmount it so we can run our test. Also fix scratch_unmount to call umount $SCRATCH_MNT instead of unmount $SCRATCH_DEV so it doesn't screw up with tests that use $SCRATCH_DEV_POOL. This fixes the issue I was seeing by running ./check btrfs/307 generic/015 Thanks, Signed-off-by: Josef Bacik --- common/rc | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-) diff --git a/common/rc b/common/rc index ad7cbc9..6e3ad65 100644 --- a/common/rc +++ b/common/rc @@ -280,7 +280,7 @@ _scratch_mount() _scratch_unmount() { - $UMOUNT_PROG $SCRATCH_DEV + $UMOUNT_PROG $SCRATCH_MNT } _scratch_remount() @@ -938,6 +938,8 @@ _supported_os() # _require_scratch() { + local i + case "$FSTYP" in nfs*) echo $SCRATCH_DEV | grep -q ":" > /dev/null 2>&1 @@ -978,6 +980,21 @@ _require_scratch() exit 1 fi fi + + # we may have a scratch dev pool specified, so make sure it's been unmounted + # from the scratch mount + for i in $SCRATCH_DEV_POOL; do + if _mount | grep -q $i; then + if ! _mount | grep $i | grep -q $SCRATCH_MNT; then + echo "\$SCRATCH_DEV_POOL is mounted but not on \$SCRATCH_MNT - aborting" + exit 1 + fi + if ! $UMOUNT_PROG $i; then + echo "failed to umount $i - aborting" + exit 1 + fi + fi + done } # this test needs a logdev