All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Sandeen <sandeen@redhat.com>
To: xfs-oss <xfs@oss.sgi.com>,
	ext4 development <linux-ext4@vger.kernel.org>,
	linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: [PATCH] xfstests: make defrag test 222 generic
Date: Tue, 12 Mar 2013 11:42:50 -0500	[thread overview]
Message-ID: <513F5B0A.4030405@redhat.com> (raw)

test 222 is just a stress test defragging the test device:

# xfs_fsr QA tests
# run xfs_fsr over the test filesystem to give it a wide and varied set of
# inodes to try to defragment. This is effectively a crash/assert failure
# test looking for corruption induced by xfs_fsr runs.

There's no reason we can't do the same for other filesystems.

Define a new _defrag_dir() helper which just runs noisy/debug
dir defrag for ext4 and/or btrfs as well, and use that in 222
instead of hardcoded xfs_fsr.

Make 222 (and 218) generic; if no defrag is supported it just won't
run.

Change the comments at the top while we're at it.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---

diff --git a/218 b/218
index 77782c6..e337bbf 100755
--- a/218
+++ b/218
@@ -44,7 +44,7 @@ _cleanup()
 . ./common.defrag
 
 # real QA test starts here
-_supported_fs xfs ext4 btrfs
+_supported_fs generic
 _supported_os Linux
 
 _setup_testdir
diff --git a/222 b/222
index df2672f..dc4d621 100755
--- a/222
+++ b/222
@@ -1,10 +1,10 @@
 #! /bin/bash
 # FS QA Test No. 222
 #
-# xfs_fsr QA tests
-# run xfs_fsr over the test filesystem to give it a wide and varied set of
+# defrag QA tests
+# run defrag over the test filesystem to give it a wide and varied set of
 # inodes to try to defragment. This is effectively a crash/assert failure
-# test looking for corruption induced by xfs_fsr runs.
+# test looking for corruption induced by defragmentation runs.
 #
 #-----------------------------------------------------------------------
 # Copyright (c) 2010 Dave Chinner.  All Rights Reserved.
@@ -44,14 +44,15 @@ trap "_cleanup ; exit \$status" 0 1 2 3 15
 # get standard environment, filters and checks
 . ./common.rc
 . ./common.filter
+. ./common.defrag
 
 # real QA test starts here
-_supported_fs xfs
+_supported_fs generic
 _supported_os Linux
 
-[ "$XFS_FSR_PROG" = "" ] && _notrun "xfs_fsr not found"
+_require_defrag
 
-xfs_fsr -d -v $TEST_DIR > $seq.full 2>&1
+_defrag_dir $TEST_DIR > $seq.full 2>&1
 
 echo "--- silence is golden ---"
 status=0 ; exit
diff --git a/common.defrag b/common.defrag
index 9c9eb9b..7736330 100644
--- a/common.defrag
+++ b/common.defrag
@@ -69,3 +69,19 @@ _defrag()
 	rm -f $1
 }
 
+# Defrag a whole directory.  No checking as above, just run it, noisily
+# output should be sent to $seq.full since it's very fs-specific
+_defrag_dir()
+{
+    case "$FSTYP" in
+    xfs)
+	$DEFRAG_PROG -d -v $1
+	;;
+    ext4|ext4dev|btrfs)
+	$DEFRAG_PROG -v $1
+	;;
+    *)
+	$DEFRAG_PROG $1
+	;;
+    esac
+}



WARNING: multiple messages have this Message-ID (diff)
From: Eric Sandeen <sandeen@redhat.com>
To: xfs-oss <xfs@oss.sgi.com>,
	ext4 development <linux-ext4@vger.kernel.org>,
	linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: [PATCH] xfstests: make defrag test 222 generic
Date: Tue, 12 Mar 2013 11:42:50 -0500	[thread overview]
Message-ID: <513F5B0A.4030405@redhat.com> (raw)

test 222 is just a stress test defragging the test device:

# xfs_fsr QA tests
# run xfs_fsr over the test filesystem to give it a wide and varied set of
# inodes to try to defragment. This is effectively a crash/assert failure
# test looking for corruption induced by xfs_fsr runs.

There's no reason we can't do the same for other filesystems.

Define a new _defrag_dir() helper which just runs noisy/debug
dir defrag for ext4 and/or btrfs as well, and use that in 222
instead of hardcoded xfs_fsr.

Make 222 (and 218) generic; if no defrag is supported it just won't
run.

Change the comments at the top while we're at it.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---

diff --git a/218 b/218
index 77782c6..e337bbf 100755
--- a/218
+++ b/218
@@ -44,7 +44,7 @@ _cleanup()
 . ./common.defrag
 
 # real QA test starts here
-_supported_fs xfs ext4 btrfs
+_supported_fs generic
 _supported_os Linux
 
 _setup_testdir
diff --git a/222 b/222
index df2672f..dc4d621 100755
--- a/222
+++ b/222
@@ -1,10 +1,10 @@
 #! /bin/bash
 # FS QA Test No. 222
 #
-# xfs_fsr QA tests
-# run xfs_fsr over the test filesystem to give it a wide and varied set of
+# defrag QA tests
+# run defrag over the test filesystem to give it a wide and varied set of
 # inodes to try to defragment. This is effectively a crash/assert failure
-# test looking for corruption induced by xfs_fsr runs.
+# test looking for corruption induced by defragmentation runs.
 #
 #-----------------------------------------------------------------------
 # Copyright (c) 2010 Dave Chinner.  All Rights Reserved.
@@ -44,14 +44,15 @@ trap "_cleanup ; exit \$status" 0 1 2 3 15
 # get standard environment, filters and checks
 . ./common.rc
 . ./common.filter
+. ./common.defrag
 
 # real QA test starts here
-_supported_fs xfs
+_supported_fs generic
 _supported_os Linux
 
-[ "$XFS_FSR_PROG" = "" ] && _notrun "xfs_fsr not found"
+_require_defrag
 
-xfs_fsr -d -v $TEST_DIR > $seq.full 2>&1
+_defrag_dir $TEST_DIR > $seq.full 2>&1
 
 echo "--- silence is golden ---"
 status=0 ; exit
diff --git a/common.defrag b/common.defrag
index 9c9eb9b..7736330 100644
--- a/common.defrag
+++ b/common.defrag
@@ -69,3 +69,19 @@ _defrag()
 	rm -f $1
 }
 
+# Defrag a whole directory.  No checking as above, just run it, noisily
+# output should be sent to $seq.full since it's very fs-specific
+_defrag_dir()
+{
+    case "$FSTYP" in
+    xfs)
+	$DEFRAG_PROG -d -v $1
+	;;
+    ext4|ext4dev|btrfs)
+	$DEFRAG_PROG -v $1
+	;;
+    *)
+	$DEFRAG_PROG $1
+	;;
+    esac
+}


_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

             reply	other threads:[~2013-03-12 16:42 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-12 16:42 Eric Sandeen [this message]
2013-03-12 16:42 ` [PATCH] xfstests: make defrag test 222 generic Eric Sandeen
2013-03-15 14:55 ` David Sterba
2013-03-15 14:55   ` David Sterba
2013-03-15 16:03   ` Rich Johnston
2013-03-15 16:03     ` Rich Johnston
2013-03-15 16:05     ` Eric Sandeen
2013-03-15 16:05       ` Eric Sandeen
2013-03-27 14:53       ` Rich Johnston
2013-03-27 14:53         ` Rich Johnston

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=513F5B0A.4030405@redhat.com \
    --to=sandeen@redhat.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.