From: Eric Sandeen <sandeen@redhat.com>
To: Dmitry Monakhov <dmonakhov@openvz.org>
Cc: linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org,
xfs@oss.sgi.com, hch@lst.de
Subject: Re: [PATCH 1/6] xfstest: add fio git submodule
Date: Sun, 23 Sep 2012 22:16:57 -0500 [thread overview]
Message-ID: <505FD0A9.3090601@redhat.com> (raw)
In-Reply-To: <1348428276-13161-1-git-send-email-dmonakhov@openvz.org>
On 9/23/12 2:24 PM, Dmitry Monakhov wrote:
> FIO is very flexible io generator, i would call it IO swiss knife.
> Currently we have tonnes of hardcoded application which reproduces
> some predefined scenario. This approach has obvious dissadvantages
> 1) Lack of flexability: once 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.
The submodule approach is interesting, but I wonder - we have quite a few
dependencies on other binaries already; what are the pros and cons of creating
this as a git submodule vs. simply expecting fio to be installed on the
system like any of the other dependencies we have today?
(I package fio for Fedora, is it not commonly available on other
distros?)
-Eric
> Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
> ---
> .gitmodules | 3 +++
> common.config | 3 +++
> src/Makefile | 8 +++++---
> src/aio-dio-regress/Makefile | 4 ++--
> src/fio | 1 +
> 5 files changed, 14 insertions(+), 5 deletions(-)
> create mode 100644 .gitmodules
> create mode 160000 src/fio
>
> diff --git a/.gitmodules b/.gitmodules
> new file mode 100644
> index 0000000..f0481ea
> --- /dev/null
> +++ b/.gitmodules
> @@ -0,0 +1,3 @@
> +[submodule "src/fio"]
> + path = src/fio
> + url = git://git.kernel.dk/fio.git
> diff --git a/common.config b/common.config
> index 7bed1c5..25cddb4 100644
> --- a/common.config
> +++ b/common.config
> @@ -138,6 +138,9 @@ export DF_PROG="`set_prog_path df`"
> [ "$DF_PROG" = "" ] && _fatal "df not found"
> [ "$HOSTOS" = "Linux" ] && export DF_PROG="$DF_PROG -T"
>
> +export FIO_PROG="`set_prog_path $PWD/src/fio/fio`"
> +[ "$FIO_PROG" = "" ] && _fatal "fio not found"
> +
> export XFS_LOGPRINT_PROG="`set_prog_path xfs_logprint`"
> export XFS_REPAIR_PROG="`set_prog_path xfs_repair`"
> export XFS_CHECK_PROG="`set_prog_path xfs_check`"
> diff --git a/src/Makefile b/src/Makefile
> index 67250ee..255bdd4 100644
> --- a/src/Makefile
> +++ b/src/Makefile
> @@ -52,16 +52,18 @@ LLDLIBS += $(LIBGDBM)
> endif
>
> ifeq ($(HAVE_AIO), true)
> -SUBDIRS += aio-dio-regress
> +SUBDIRS += aio-dio-regress \
> + fio
> +
> endif
>
> CFILES = $(TARGETS:=.c)
> LDIRT = $(TARGETS)
>
>
> -default: depend $(TARGETS) $(SUBDIRS)
> +default: .depend $(TARGETS) $(SUBDIRS)
>
> -depend: .dep
> +.depend: .dep
>
> include $(BUILDRULES)
>
> diff --git a/src/aio-dio-regress/Makefile b/src/aio-dio-regress/Makefile
> index 79dd55d..fcead9a 100644
> --- a/src/aio-dio-regress/Makefile
> +++ b/src/aio-dio-regress/Makefile
> @@ -8,9 +8,9 @@ LDIRT = $(TARGETS)
>
> LLDLIBS = -laio -lpthread
>
> -default: depend $(TARGETS)
> +default: .depend $(TARGETS)
>
> -depend: .dep
> +.depend: .dep
>
> include $(BUILDRULES)
>
> diff --git a/src/fio b/src/fio
> new file mode 160000
> index 0000000..e12d280
> --- /dev/null
> +++ b/src/fio
> @@ -0,0 +1 @@
> +Subproject commit e12d2800f811cb64d376cfdaed9a1257f3fa9c99
>
next prev parent reply other threads:[~2012-09-24 3:16 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <a>
2012-09-23 19:24 ` [PATCH 1/6] xfstest: add fio git submodule Dmitry Monakhov
2012-09-23 19:24 ` [PATCH 2/6] xfstest: add configurable load factors Dmitry Monakhov
2012-09-23 19:24 ` [PATCH 3/6] xfstest: allow fsstress to use load factor where appropriate Dmitry Monakhov
2012-09-23 19:24 ` [PATCH 4/6] xfstest add fallocate/truncate vs AIO/DIO stress test Dmitry Monakhov
2012-09-23 19:24 ` [PATCH 5/6] xfstest: add fallocate/punch_hole " Dmitry Monakhov
2012-09-23 19:24 ` [PATCH 6/6] xfstest: add defragmentation stress test for ext4 Dmitry Monakhov
2012-09-24 3:16 ` Eric Sandeen [this message]
2012-09-24 10:03 ` [PATCH 1/6] xfstest: add fio git submodule Dmitry Monakhov
2012-09-24 11:37 ` Dave Chinner
2012-09-24 12:38 ` Dmitry Monakhov
2012-09-24 13:53 ` Dave Chinner
2012-09-24 12:23 ` Greg Freemyer
2012-09-24 12:41 ` Dmitry Monakhov
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=505FD0A9.3090601@redhat.com \
--to=sandeen@redhat.com \
--cc=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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).