mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
r13263: Check whether open(2) will accept the O_DIRECT flag. This should fix the
build on NetBSD.
(This used to be commit 7354de62a7
)
This commit is contained in:
parent
b60415745a
commit
ad01edb37b
@ -496,6 +496,18 @@ fi
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for O_DIRECT flag to open(2)],samba_cv_HAVE_OPEN_O_DIRECT,[
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#include <unistd.h>
|
||||||
|
#ifdef HAVE_FCNTL_H
|
||||||
|
#include <fcntl.h>
|
||||||
|
#endif],
|
||||||
|
[int fd = open("/dev/null", O_DIRECT);],
|
||||||
|
samba_cv_HAVE_OPEN_O_DIRECT=yes,samba_cv_HAVE_OPEN_O_DIRECT=no)])
|
||||||
|
if test x"$samba_cv_HAVE_OPEN_O_DIRECT" = x"yes"; then
|
||||||
|
AC_DEFINE(HAVE_OPEN_O_DIRECT,1,[Whether the open(2) accepts O_DIRECT])
|
||||||
|
fi
|
||||||
|
|
||||||
###############################################
|
###############################################
|
||||||
# test for where we get crypt() from
|
# test for where we get crypt() from
|
||||||
AC_CHECK_LIB_EXT(crypt, CRYPT_LIBS, crypt)
|
AC_CHECK_LIB_EXT(crypt, CRYPT_LIBS, crypt)
|
||||||
|
@ -99,8 +99,13 @@ open_fd_handle(const char * path, uint64_t iosz, int options)
|
|||||||
fdh->h.io_write = fd_write_func;
|
fdh->h.io_write = fd_write_func;
|
||||||
fdh->h.io_seek = fd_seek_func;
|
fdh->h.io_seek = fd_seek_func;
|
||||||
|
|
||||||
if (options & DD_DIRECT_IO)
|
if (options & DD_DIRECT_IO) {
|
||||||
|
#ifdef HAVE_OPEN_O_DIRECT
|
||||||
oflags |= O_DIRECT;
|
oflags |= O_DIRECT;
|
||||||
|
#else
|
||||||
|
DEBUG(1, ("no support for direct IO on this platform\n"));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
if (options & DD_SYNC_IO)
|
if (options & DD_SYNC_IO)
|
||||||
oflags |= O_SYNC;
|
oflags |= O_SYNC;
|
||||||
|
Loading…
Reference in New Issue
Block a user