summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorJohann Lombardi <johann.lombardi@intel.com>2021-02-14 15:23:47 +0100
committerJohann Lombardi <johann.lombardi@intel.com>2021-03-17 14:49:43 +0100
commitc363fdd7fb54713bc04582df300722e97ac31348 (patch)
tree1ba8fb41eaebb0ea29260ee1d824f32f45f3f2b1 /configure
parentea8c20c3416d03233879f0d96d745606bd66125b (diff)
downloadfio-c363fdd7fb54713bc04582df300722e97ac31348.tar.gz
fio-c363fdd7fb54713bc04582df300722e97ac31348.tar.bz2
engines/dfs: add DAOS File System (dfs) engine
DAOS is a new scale-out open-source object store. See https://github.com/daos-stack/daos for more information. This patch adds a new fio engine to support the filesystem layer built on top of DAOS called DFS (DAOS File System). It supports asynchronous read/write operations. Signed-off-by: Johann Lombardi <johann.lombardi@intel.com> Co-authored-by: Mohamad Chaarawi <mohamad.chaarawi@intel.com> Co-authored-by: Vishwanath Venkatesan <vishwanath.venkatesan@intel.com> Co-authored-by: Ioannis Galanis <ioannis.galanis@intel.com>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure34
1 files changed, 34 insertions, 0 deletions
diff --git a/configure b/configure
index 7f782e42..d79f6521 100755
--- a/configure
+++ b/configure
@@ -171,6 +171,7 @@ march_set="no"
libiscsi="no"
libnbd="no"
libzbc=""
+dfs=""
dynamic_engines="no"
prefix=/usr/local
@@ -242,6 +243,8 @@ for opt do
;;
--dynamic-libengines) dynamic_engines="yes"
;;
+ --disable-dfs) dfs="no"
+ ;;
--help)
show_help="yes"
;;
@@ -284,6 +287,7 @@ if test "$show_help" = "yes" ; then
echo "--disable-libzbc Disable libzbc even if found"
echo "--disable-tcmalloc Disable tcmalloc support"
echo "--dynamic-libengines Lib-based ioengines as dynamic libraries"
+ echo "--disable-dfs Disable DAOS File System support even if found"
exit $exit_val
fi
@@ -2180,6 +2184,33 @@ fi
print_config "NBD engine" "$libnbd"
##########################################
+# check for dfs (DAOS File System)
+if test "$dfs" != "no" ; then
+ cat > $TMPC << EOF
+#include <fcntl.h>
+#include <daos.h>
+#include <daos_fs.h>
+
+int main(int argc, char **argv)
+{
+ daos_handle_t poh;
+ daos_handle_t coh;
+ dfs_t *dfs;
+
+ (void) dfs_mount(poh, coh, O_RDWR, &dfs);
+
+ return 0;
+}
+EOF
+ if compile_prog "" "-luuid -ldfs -ldaos" "dfs"; then
+ dfs="yes"
+ else
+ dfs="no"
+ fi
+fi
+print_config "DAOS File System (dfs) Engine" "$dfs"
+
+##########################################
# Check if we have lex/yacc available
yacc="no"
yacc_is_bison="no"
@@ -2988,6 +3019,9 @@ fi
if test "$libcufile" = "yes" ; then
output_sym "CONFIG_LIBCUFILE"
fi
+if test "$dfs" = "yes" ; then
+ output_sym "CONFIG_DFS"
+fi
if test "$march_set" = "no" && test "$build_native" = "yes" ; then
output_sym "CONFIG_BUILD_NATIVE"
fi