浏览代码

fix POSIX_FADV_DONTNEED/_NOREUSE on s390x

On s390x, POSIX_FADV_DONTNEED and POSIX_FADV_NOREUSE have different
values than on all other architectures that Linux supports.

Handle this difference by wrapping their definitions in
include/fcntl.h in #ifdef, so that arch/s390x/bits/fcntl.h can
override them.
Jonathan Neuschäfer 6 年之前
父节点
当前提交
4b125dd408
共有 2 个文件被更改,包括 5 次插入0 次删除
  1. 3 0
      arch/s390x/bits/fcntl.h
  2. 2 0
      include/fcntl.h

+ 3 - 0
arch/s390x/bits/fcntl.h

@@ -38,3 +38,6 @@
 #define F_GETOWN_EX 16
 
 #define F_GETOWNER_UIDS 17
+
+#define POSIX_FADV_DONTNEED   6
+#define POSIX_FADV_NOREUSE    7

+ 2 - 0
include/fcntl.h

@@ -66,8 +66,10 @@ int posix_fallocate(int, off_t, off_t);
 #define POSIX_FADV_RANDOM     1
 #define POSIX_FADV_SEQUENTIAL 2
 #define POSIX_FADV_WILLNEED   3
+#ifndef POSIX_FADV_DONTNEED
 #define POSIX_FADV_DONTNEED   4
 #define POSIX_FADV_NOREUSE    5
+#endif
 
 #undef SEEK_SET
 #undef SEEK_CUR