I/O engine that does regular EXT4_IOC_MOVE_EXT ioctls to simulate
defragment activity in request to DDIR_WRITE event.
+ **rados**
+ I/O engine supporting direct access to Ceph Reliable Autonomic
+ Distributed Object Store (RADOS) via librados. This ioengine
+ defines engine specific options.
+
**rbd**
I/O engine supporting direct access to Ceph Rados Block Devices
(RBD) via librbd without the need to use the kernel rbd driver. This
Allocate space immediately inside defragment event, and free right
after event.
-.. option:: clustername=str : [rbd]
+.. option:: clustername=str : [rbd,rados]
Specifies the name of the Ceph cluster.
Specifies the name of the RBD.
-.. option:: pool=str : [rbd]
+.. option:: pool=str : [rbd,rados]
- Specifies the name of the Ceph pool containing RBD.
+ Specifies the name of the Ceph pool containing RBD or RADOS data.
-.. option:: clientname=str : [rbd]
+.. option:: clientname=str : [rbd,rados]
Specifies the username (without the 'client.' prefix) used to access the
Ceph cluster. If the *clustername* is specified, the *clientname* shall be
the full *type.id* string. If no type. prefix is given, fio will add
'client.' by default.
+.. option:: busy_poll=bool : [rbd,rados]
+
+ Poll store instead of waiting for completion. Usually this provides better
+ throughput at cost of higher(up to 100%) CPU utilization.
+
.. option:: skip_bad=bool : [mtd]
Skip operations against known bad blocks.
How to compile fio on 64-bit Windows:
1. Install Cygwin (http://www.cygwin.com/). Install **make** and all
- packages starting with **mingw64-i686** and **mingw64-x86_64**.
+ packages starting with **mingw64-i686** and **mingw64-x86_64**. Ensure
+ **mingw64-i686-zlib** and **mingw64-x86_64-zlib** are installed if you wish
+ to enable fio's log compression functionality.
2. Open the Cygwin Terminal.
3. Go to the fio directory (source files).
4. Run ``make clean && make -j``.
-clone_depth: 1
+clone_depth: 1 # NB: this stops FIO-VERSION-GEN making tag based versions
+
environment:
CYG_MIRROR: http://cygwin.mirror.constant.com
CYG_ROOT: C:\cygwin64
MAKEFLAGS: -j 2
matrix:
- - platform: x86_64
- BUILD_ARCH: x64
+ - platform: x64
PACKAGE_ARCH: x86_64
CONFIGURE_OPTIONS:
- platform: x86
- BUILD_ARCH: x86
PACKAGE_ARCH: i686
CONFIGURE_OPTIONS: --build-32bit-win
install:
- '%CYG_ROOT%\setup-x86_64.exe --quiet-mode --no-shortcuts --only-site --site "%CYG_MIRROR%" --packages "mingw64-%PACKAGE_ARCH%-zlib" > NULL'
+ - SET PATH=%CYG_ROOT%\bin;%PATH% # NB: Changed env variables persist to later sections
build_script:
- - SET PATH=%CYG_ROOT%\bin;%PATH%
- 'bash.exe -lc "cd \"${APPVEYOR_BUILD_FOLDER}\" && ./configure --extra-cflags=\"-Werror\" ${CONFIGURE_OPTIONS} && make.exe'
after_build:
- - cd os\windows && dobuild.cmd %BUILD_ARCH%
+ - cd os\windows && dobuild.cmd %PLATFORM%
test_script:
- - SET PATH=%CYG_ROOT%\bin;%PATH%
- 'bash.exe -lc "cd \"${APPVEYOR_BUILD_FOLDER}\" && file.exe fio.exe && make.exe test'
artifacts:
if test -z "${CC}${cross_prefix}"; then
if test ! -z "$build_32bit_win" && test "$build_32bit_win" = "yes"; then
cc="i686-w64-mingw32-gcc"
- if test -e "../zlib/contrib/vstudio/vc14/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib"; then
- echo "Building with zlib support"
- output_sym "CONFIG_ZLIB"
- echo "LIBS=../zlib/contrib/vstudio/vc14/x86/ZlibStatReleaseWithoutAsm/zlibstat.lib" >> $config_host_mak
- fi
else
cc="x86_64-w64-mingw32-gcc"
- if test -e "../zlib/contrib/vstudio/vc14/x64/ZlibStatReleaseWithoutAsm/zlibstat.lib"; then
- echo "Building with zlib support"
- output_sym "CONFIG_ZLIB"
- echo "LIBS=../zlib/contrib/vstudio/vc14/x64/ZlibStatReleaseWithoutAsm/zlibstat.lib" >> $config_host_mak
- fi
fi
fi
if test ! -z "$build_32bit_win" && test "$build_32bit_win" = "yes"; then
static_assert="yes"
ipv6="yes"
mkdir_two="no"
- echo "BUILD_CFLAGS=$CFLAGS -I../zlib -include config-host.h -D_GNU_SOURCE" >> $config_host_mak
+ echo "BUILD_CFLAGS=$CFLAGS -include config-host.h -D_GNU_SOURCE" >> $config_host_mak
;;
esac
output_sym "CONFIG_DISABLE_OPTIMIZATIONS"
fi
if test "$zlib" = "no" ; then
- echo "Consider installing zlib-dev (zlib-devel), some fio features depend on it."
+ echo "Consider installing zlib-dev (zlib-devel, some fio features depend on it."
+ if test "$build_static" = "yes"; then
+ echo "Note that some distros have separate packages for static libraries."
+ fi
fi
if test "$cuda" = "yes" ; then
output_sym "CONFIG_CUDA"
set /a counter+=1\r
)\r
\r
+for /f "tokens=2 delims=-" %%i in ("%FIO_VERSION%") do (\r
+ set FIO_VERSION_NUMBERS=%%i\r
+)\r
+\r
+if not defined FIO_VERSION_NUMBERS (\r
+ echo Could not find version numbers in the string '%FIO_VERSION%'\r
+ echo Expected version to follow format 'fio-^([0-9]+.[0-9.]+^)'\r
+ goto end\r
+)\r
+\r
if "%1"=="x86" set FIO_ARCH=x86\r
if "%1"=="x64" set FIO_ARCH=x64\r
\r
goto end\r
)\r
\r
-"%WIX%bin\candle" -nologo -arch %FIO_ARCH% install.wxs\r
+"%WIX%bin\candle" -nologo -arch %FIO_ARCH% -dFioVersionNumbers="%FIO_VERSION_NUMBERS%" install.wxs\r
@if ERRORLEVEL 1 goto end\r
"%WIX%bin\candle" -nologo -arch %FIO_ARCH% examples.wxs\r
@if ERRORLEVEL 1 goto end\r
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
- <?if $(env.FIO_ARCH) = x86 ?>
+ <?if $(sys.BUILDARCH) = x86 ?>
<?define ProgramDirectory = ProgramFilesFolder ?>
<?else?>
<?define ProgramDirectory = ProgramFiles64Folder ?>
<Product Id="*"
Codepage="1252" Language="1033"
Manufacturer="fio" Name="fio"
- UpgradeCode="2338A332-5511-43CF-B9BD-5C60496CCFCC" Version="3.5">
+ UpgradeCode="2338A332-5511-43CF-B9BD-5C60496CCFCC" Version="$(var.FioVersionNumbers)">
<Package
- Description="Flexible IO Tester"
+ Description="Flexible I/O Tester"
InstallerVersion="301" Keywords="Installer,MSI,Database"
Languages="1033" Manufacturer="fio"
InstallScope="perMachine" InstallPrivileges="elevated" Compressed="yes"/>
</Directory>
</Directory>
- <Feature Id="AlwaysInstall" Absent="disallow" ConfigurableDirectory="INSTALLDIR" Display="hidden" Level="1" Title="Flexible IO Tester">
+ <Feature Id="AlwaysInstall" Absent="disallow" ConfigurableDirectory="INSTALLDIR" Display="hidden" Level="1" Title="Flexible I/O Tester">
<ComponentRef Id="fio.exe"/>
<ComponentRef Id="HOWTO"/>
<ComponentRef Id="README"/>