diff --git a/GenericIO.h b/GenericIO.h
index 6c2c817c16897d08b8954208ea472b9200a4e0de..6e435ff8778f17bf5b7ee3b4680039e8f725cd32 100644
--- a/GenericIO.h
+++ b/GenericIO.h
@@ -461,7 +461,13 @@ public:
 
   static void setNaturalDefaultPartition();
 
-  static void flushAll() {
+  static bool flushAll() {
+#ifdef GENERICIO_WITH_VELOC
+      return GenericFileIO_VELOC::flush();
+#endif
+  }
+
+  static void shutdown() {
 #ifdef GENERICIO_WITH_VELOC
       GenericFileIO_VELOC::flush();
 #endif
diff --git a/README.md b/README.md
index f585b058ab6038c224368ac68d037ed16d12b097..964183828c85d97ea0c56a5301624d9b876b3d3b 100644
--- a/README.md
+++ b/README.md
@@ -115,10 +115,11 @@ Instructions can be found here: [https://veloc.readthedocs.io](https://veloc.rea
 
 **Install**
 
-Set the VELOC_INSTALL_DIR variable in GNUMakefile to the root of the VELOC installation directory. 
+Set the VELOC_INSTALL_DIR variable in GNUMakefile to the root of the VELOC installation directory.
 Then proceed to compile and link GIO as usual.
 
 **Run**
 
-Define the GENERICIO_USE_VELOC environment variable as the path to the VELOC configuration file.
-An example is available here: veloc.cfg
+Define the GENERICIO_USE_VELOC environment variable as the path to the scratch directory.
+The scratch directory will be used as a local cache and needs to be a NVMe mount point on the compute node.
+Define the VELOC_MAX_CACHE_SIZE environment variable as the maximum size (in bytes) of unflushed data allowed in the scratch folder.
diff --git a/thirdparty/veloc/FileIOVELOC.cxx b/thirdparty/veloc/FileIOVELOC.cxx
index e0114c3a620044c812927f1582496bd5e904f0a5..8f7ecf186249b34c772fe45e443ecab260650cc4 100644
--- a/thirdparty/veloc/FileIOVELOC.cxx
+++ b/thirdparty/veloc/FileIOVELOC.cxx
@@ -40,8 +40,11 @@ void GenericFileIO_VELOC::write(const void *buf, size_t count, off_t offset, con
 	throw std::runtime_error("Unable to write " + D + " to file: " + FileName + ": " + strerror(errno));
 }
 
-void GenericFileIO_VELOC::flush() {
-    veloc::cached_file_t::flush();
+bool GenericFileIO_VELOC::flush() {
+    return veloc::cached_file_t::flush();
+}
+
+void GenericFileIO_VELOC::shutdown() {
     veloc::cached_file_t::shutdown();
 }
 
diff --git a/thirdparty/veloc/FileIOVELOC.hpp b/thirdparty/veloc/FileIOVELOC.hpp
index 66b791ded1f6d4cfa9a68d0092fafebd4b1e543c..e9187d5b58f64214794112f542da00df41e70d06 100644
--- a/thirdparty/veloc/FileIOVELOC.hpp
+++ b/thirdparty/veloc/FileIOVELOC.hpp
@@ -15,7 +15,8 @@ public:
     void setSize(size_t sz);
     void read(void *buf, size_t count, off_t offset, const std::string &D);
     void write(const void *buf, size_t count, off_t offset, const std::string &D);
-    static void flush();
+    static bool flush();
+    static void shutdown();
 
 protected:
     int FH;
diff --git a/veloc.cfg b/veloc.cfg
deleted file mode 100644
index cadd6f268248b250a29db8325b4a1fe8099a1640..0000000000000000000000000000000000000000
--- a/veloc.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-scratch = /tmp/scratch
-persistent = /tmp/persistent
-mode = async
\ No newline at end of file