Blame SOURCES/1899552-mpo-8.5.0.0-statx.2.patch

ec0bc1
From d06094d4469258a722c94f8bb5bc25b5c9711718 Mon Sep 17 00:00:00 2001
ec0bc1
From: =?UTF-8?q?Nikola=20Forr=C3=B3?= <nforro@redhat.com>
ec0bc1
Date: Fri, 9 Jul 2021 18:34:34 +0200
ec0bc1
Subject: [PATCH 1/2] statx.2: add STATX_ATTR_DAX
ec0bc1
ec0bc1
---
ec0bc1
 man-pages/man2/statx.2 | 30 ++++++++++++++++++++++++++++++
ec0bc1
 1 file changed, 30 insertions(+)
ec0bc1
ec0bc1
diff --git a/man-pages/man2/statx.2 b/man-pages/man2/statx.2
ec0bc1
index bb04455..686edc8 100644
ec0bc1
--- a/man-pages/man2/statx.2
ec0bc1
+++ b/man-pages/man2/statx.2
ec0bc1
@@ -462,6 +462,36 @@ See
ec0bc1
 .TP
ec0bc1
 .B STATX_ATTR_ENCRYPTED
ec0bc1
 A key is required for the file to be encrypted by the filesystem.
ec0bc1
+.TP
ec0bc1
+.BR STATX_ATTR_DAX " (since Linux 5.8)"
ec0bc1
+The file is in the DAX (cpu direct access) state.
ec0bc1
+DAX state attempts to
ec0bc1
+minimize software cache effects for both I/O and memory mappings of this file.
ec0bc1
+It requires a file system which has been configured to support DAX.
ec0bc1
+.IP
ec0bc1
+DAX generally assumes all accesses are via CPU load / store instructions
ec0bc1
+which can minimize overhead for small accesses,
ec0bc1
+but may adversely affect CPU utilization for large transfers.
ec0bc1
+.IP
ec0bc1
+File I/O is done directly to/from user-space buffers and memory mapped I/O may
ec0bc1
+be performed with direct memory mappings that bypass the kernel page cache.
ec0bc1
+.IP
ec0bc1
+While the DAX property tends to result in data being transferred synchronously,
ec0bc1
+it does not give the same guarantees as the
ec0bc1
+.B O_SYNC
ec0bc1
+flag (see
ec0bc1
+.BR open (2)),
ec0bc1
+where data and the necessary metadata are transferred together.
ec0bc1
+.IP
ec0bc1
+A DAX file may support being mapped with the
ec0bc1
+.B MAP_SYNC
ec0bc1
+flag, which enables a
ec0bc1
+program to use CPU cache flush instructions to persist CPU store operations
ec0bc1
+without an explicit
ec0bc1
+.BR fsync (2).
ec0bc1
+See
ec0bc1
+.BR mmap (2)
ec0bc1
+for more information.
ec0bc1
 .SH RETURN VALUE
ec0bc1
 On success, zero is returned.
ec0bc1
 On error, \-1 is returned, and
ec0bc1
-- 
ec0bc1
2.31.1
ec0bc1