diff --git a/configure.ac b/configure.ac
index 3c9dac15eae6f20a3ea3fa0557d6071b4b3607b8..fb2a8fcab428ad0f1939e17e22b2bbf978d75c08 100644
--- a/configure.ac
+++ b/configure.ac
@@ -240,10 +240,6 @@ fi
 AC_SEARCH_LIBS([socket], [network socket])
 AC_SEARCH_LIBS([gethostbyname], [nsl])
 
-if test x$host_is_linux = xyes; then
-	AC_CHECK_FUNCS(linkat)
-fi
-
 AC_CHECK_FUNCS(getpwnam_r getpwuid_r)
 AC_CHECK_FUNCS(initgroups)
 AC_CHECK_FUNCS(fnmatch)
diff --git a/src/fs/io/FileOutputStream.cxx b/src/fs/io/FileOutputStream.cxx
index 67b9318afbd7aeab138caa40ac76bd79e0fd5ba9..f76a44e5df558bbe3d84e92f9a789b5ea99928fd 100644
--- a/src/fs/io/FileOutputStream.cxx
+++ b/src/fs/io/FileOutputStream.cxx
@@ -138,7 +138,7 @@ FileOutputStream::Cancel() noexcept
 #include <unistd.h>
 #include <errno.h>
 
-#ifdef HAVE_LINKAT
+#ifdef __linux__
 #ifndef O_TMPFILE
 /* supported since Linux 3.11 */
 #define __O_TMPFILE 020000000
@@ -159,12 +159,12 @@ OpenTempFile(FileDescriptor &fd, Path path)
 	return fd.Open(directory.c_str(), O_TMPFILE|O_WRONLY, 0666);
 }
 
-#endif /* HAVE_LINKAT */
+#endif /* __linux__ */
 
 inline void
 FileOutputStream::OpenCreate(bool visible)
 {
-#ifdef HAVE_LINKAT
+#ifdef __linux__
 	/* try Linux's O_TMPFILE first */
 	is_tmpfile = !visible && OpenTempFile(fd, GetPath());
 	if (!is_tmpfile) {
@@ -175,7 +175,7 @@ FileOutputStream::OpenCreate(bool visible)
 			     0666))
 			throw FormatErrno("Failed to create %s",
 					  GetPath().c_str());
-#ifdef HAVE_LINKAT
+#ifdef __linux__
 	}
 #else
 	(void)visible;
@@ -218,7 +218,7 @@ FileOutputStream::Commit()
 {
 	assert(IsDefined());
 
-#ifdef HAVE_LINKAT
+#ifdef __linux__
 	if (is_tmpfile) {
 		unlink(GetPath().c_str());
 
@@ -251,7 +251,7 @@ FileOutputStream::Cancel() noexcept
 
 	switch (mode) {
 	case Mode::CREATE:
-#ifdef HAVE_LINKAT
+#ifdef __linux__
 		if (!is_tmpfile)
 #endif
 			unlink(GetPath().c_str());
diff --git a/src/fs/io/FileOutputStream.hxx b/src/fs/io/FileOutputStream.hxx
index d96e044d5e9f50a74128b3473f0605f9a28af399..9dfea4019fb8bffae5429223fa814db01f934e2f 100644
--- a/src/fs/io/FileOutputStream.hxx
+++ b/src/fs/io/FileOutputStream.hxx
@@ -57,7 +57,7 @@ class FileOutputStream final : public OutputStream {
 	FileDescriptor fd = FileDescriptor::Undefined();
 #endif
 
-#ifdef HAVE_LINKAT
+#ifdef __linux__
 	/**
 	 * Was O_TMPFILE used?  If yes, then linkat() must be used to
 	 * create a link to this file.