Commit 9036e261 authored by Hallvard Furuseth's avatar Hallvard Furuseth
Browse files

ITS#7682 F_NOCACHE: Allow error, skip any O_DIRECT

We can run without F_NOCACHE if it fails. And we do not know
what combining it with O_DIRECT means, if a system has both.
parent 56b81e6d
......@@ -9394,17 +9394,12 @@ mdb_env_copy2(MDB_env *env, const char *path, unsigned int flags)
}
if (env->me_psize >= env->me_os_psize) {
#ifdef O_DIRECT
#ifdef F_NOCACHE /* __APPLE__ */
(void) fcntl(newfd, F_NOCACHE, 1);
#elif defined O_DIRECT
/* Set O_DIRECT if the file system supports it */
if ((rc = fcntl(newfd, F_GETFL)) != -1)
(void) fcntl(newfd, F_SETFL, rc | O_DIRECT);
#endif
#ifdef F_NOCACHE /* __APPLE__ */
rc = fcntl(newfd, F_NOCACHE, 1);
if (rc) {
rc = ErrCode();
goto leave;
}
#endif
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment