INTRODUCTION: ============= This patch integrates the Flexible Filesystem Benchmark (FFSB) with the autotest. This integration enables the high-performace I/O load testing in the KVM Virtual machine environment. FFSB is a filesystem performance measurement tool. It is a multi-threaded application (using pthreads), written entirely in C with cross-platform portability in mind. It differs from other filesystem benchmarks in that the user may supply a profile to create custom workloads, while most other filesystem benchmarks use a fixed set of randomly generated workloads. More information about the FFSB can be got from reading the README in the FFSB source directory which can be accessed from this link: [http://sourceforge.net/projects/ffsb/] With this integration, it is now possible to test a variety of filesystems on the KVM guest for : (1) directed I/O with sequential/random read/write. (2) buffered I/O with sequential/random read/write. (3) use varying block alignment boundaries to measure filesystem behaviour. (4) use multithreaded workloads to stress the filesystem. (5) Exert weighted combination of I/O workloads to analyze the I/O performace for a specific scenario. (6) Age filesystem according to a specified workload upto a specified limit. Since the only interface used for the integration is a FFSB configuration file; Autotest will be able to run variety of I/O tests on guest as FFSB improves, with no or minimal code change in Autotest itself. USE: ==== To use the FFSB for Filesystem testing, two configuration files need to be modified - (1) Usual - tests.cfg file to activate the ffsb tests through KVM. (2) profile.cfg - where the workloads are specified. TODO: ==== * Add validations for max. number of threads according to number of vcpus exported by QEMU-KVM * Test Autotest/ffsb * Test FFSB itself.