From: Dmitry Monakhov <dmonakhov@openvz.org> To: linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org Cc: xfs@oss.sgi.com, hch@lst.de, Dmitry Monakhov <dmonakhov@openvz.org> Subject: [PATCH 1/6] xfstests: add fio requirement V2 Date: Mon, 24 Sep 2012 18:23:16 +0400 [thread overview] Message-ID: <1348496601-32637-1-git-send-email-dmonakhov@openvz.org> (raw) FIO is very flexible io generator, i would call it IO swiss knife. Currently we have tonns of hardcoded application which reproduces some predefined scenario. This approach has obvious dissadvantages 1) Lack of flexability: one written it is hard to modify it in future 2) Code base is large, many routines written again and again At the same time add new fio based tast is just add simle INI file. This greatly simplify code review. I do beleve that some day we will replace most of hardcoded io binaries with fio. One who is planning to run $FIO_PROG should first check that system contains appropriate version which is able to handle jobfile for example: _require_fio 286-job.fio Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> --- common.config | 1 + common.rc | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 0 deletions(-) diff --git a/common.config b/common.config index 7bed1c5..d5c8956 100644 --- a/common.config +++ b/common.config @@ -158,6 +158,7 @@ export XFS_QUOTA_PROG="`set_prog_path xfs_quota`" export KILLALL_PROG="`set_prog_path killall`" export INDENT_PROG="`set_prog_path indent`" export XFS_COPY_PROG="`set_prog_path xfs_copy`" +export FIO_PROG="`set_prog_path fio`" # Generate a comparable xfsprogs version number in the form of # major * 10000 + minor * 100 + release diff --git a/common.rc b/common.rc index 602513a..f5027e7 100644 --- a/common.rc +++ b/common.rc @@ -1758,6 +1758,21 @@ _require_btrfs() [ $? -eq 0 ] || _notrun "$BTRFS_UTIL_PROG too old (must support $cmd)" } +# Check that fio is present, and it is able to execute given jobfile +_require_fio() +{ + job=$1 + + _require_command $FIO_PROG + if [ -z "$1" ]; then + return 1; + fi + + $FIO_PROG --warnings-fatal --showcmd $job >/dev/null 2>&1 + [ $? -eq 0 ] || _notrun "$FIO_PROG too old" +} + + # arg 1 is dev to remove and is output of the below eg. # ls -l /sys/class/block/sdd | rev | cut -d "/" -f 3 | rev _devmgt_remove() -- 1.7.7.6
WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Monakhov <dmonakhov@openvz.org> To: linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org Cc: Dmitry Monakhov <dmonakhov@openvz.org>, hch@lst.de, xfs@oss.sgi.com Subject: [PATCH 1/6] xfstests: add fio requirement V2 Date: Mon, 24 Sep 2012 18:23:16 +0400 [thread overview] Message-ID: <1348496601-32637-1-git-send-email-dmonakhov@openvz.org> (raw) FIO is very flexible io generator, i would call it IO swiss knife. Currently we have tonns of hardcoded application which reproduces some predefined scenario. This approach has obvious dissadvantages 1) Lack of flexability: one written it is hard to modify it in future 2) Code base is large, many routines written again and again At the same time add new fio based tast is just add simle INI file. This greatly simplify code review. I do beleve that some day we will replace most of hardcoded io binaries with fio. One who is planning to run $FIO_PROG should first check that system contains appropriate version which is able to handle jobfile for example: _require_fio 286-job.fio Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> --- common.config | 1 + common.rc | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 0 deletions(-) diff --git a/common.config b/common.config index 7bed1c5..d5c8956 100644 --- a/common.config +++ b/common.config @@ -158,6 +158,7 @@ export XFS_QUOTA_PROG="`set_prog_path xfs_quota`" export KILLALL_PROG="`set_prog_path killall`" export INDENT_PROG="`set_prog_path indent`" export XFS_COPY_PROG="`set_prog_path xfs_copy`" +export FIO_PROG="`set_prog_path fio`" # Generate a comparable xfsprogs version number in the form of # major * 10000 + minor * 100 + release diff --git a/common.rc b/common.rc index 602513a..f5027e7 100644 --- a/common.rc +++ b/common.rc @@ -1758,6 +1758,21 @@ _require_btrfs() [ $? -eq 0 ] || _notrun "$BTRFS_UTIL_PROG too old (must support $cmd)" } +# Check that fio is present, and it is able to execute given jobfile +_require_fio() +{ + job=$1 + + _require_command $FIO_PROG + if [ -z "$1" ]; then + return 1; + fi + + $FIO_PROG --warnings-fatal --showcmd $job >/dev/null 2>&1 + [ $? -eq 0 ] || _notrun "$FIO_PROG too old" +} + + # arg 1 is dev to remove and is output of the below eg. # ls -l /sys/class/block/sdd | rev | cut -d "/" -f 3 | rev _devmgt_remove() -- 1.7.7.6 _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs
next reply other threads:[~2012-09-24 14:23 UTC|newest] Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-09-24 14:23 Dmitry Monakhov [this message] 2012-09-24 14:23 ` [PATCH 1/6] xfstests: add fio requirement V2 Dmitry Monakhov 2012-09-24 14:23 ` [PATCH 2/6] xfstest: add configurable load factors Dmitry Monakhov 2012-09-24 14:23 ` Dmitry Monakhov 2012-09-27 0:06 ` Dave Chinner 2012-09-27 0:06 ` Dave Chinner 2012-09-24 14:23 ` [PATCH 3/6] xfstest: allow fsstress to use load factor where appropriate Dmitry Monakhov 2012-09-24 14:23 ` Dmitry Monakhov 2012-09-27 0:19 ` Dave Chinner 2012-09-27 0:19 ` Dave Chinner 2012-09-24 14:23 ` [PATCH 4/6] add fallocate/truncate vs AIO/DIO stress test Dmitry Monakhov 2012-09-24 14:23 ` Dmitry Monakhov 2012-09-27 1:05 ` Dave Chinner 2012-09-27 1:05 ` Dave Chinner 2012-09-24 14:23 ` [PATCH 5/6] add fallocate/punch_hole " Dmitry Monakhov 2012-09-24 14:23 ` Dmitry Monakhov 2012-09-27 1:07 ` Dave Chinner 2012-09-27 1:07 ` Dave Chinner 2012-09-24 14:23 ` [PATCH 6/6] add defragmentation stress test for ext4 Dmitry Monakhov 2012-09-24 14:23 ` Dmitry Monakhov 2012-09-27 1:15 ` Dave Chinner 2012-09-27 1:15 ` Dave Chinner 2012-09-27 0:19 ` [PATCH 1/6] xfstests: add fio requirement V2 Dave Chinner 2012-09-27 0:19 ` Dave Chinner
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=1348496601-32637-1-git-send-email-dmonakhov@openvz.org \ --to=dmonakhov@openvz.org \ --cc=hch@lst.de \ --cc=linux-ext4@vger.kernel.org \ --cc=linux-fsdevel@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: linkBe 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.