diff --git a/AnnService/inc/Helper/AsyncFileReader.h b/AnnService/inc/Helper/AsyncFileReader.h index bd636b2c5..b2fbd0a0e 100644 --- a/AnnService/inc/Helper/AsyncFileReader.h +++ b/AnnService/inc/Helper/AsyncFileReader.h @@ -521,6 +521,10 @@ namespace SPTAG std::uint16_t threadPoolSize = 4) { m_fileHandle = open(filePath, O_RDONLY | O_DIRECT); + // O_DIRECT isn't supported on some filesystems + if (m_fileHandle <= 0 && errno == EINVAL) { + m_fileHandle = open(filePath, O_RDONLY); + } if (m_fileHandle <= 0) { SPTAGLIB_LOG(LogLevel::LL_Error, "Failed to create file handle: %s\n", filePath); return false;