.B FAN_CLASS_PRE_CONTENT
This value allows the receipt of events notifying that a file has been
accessed and events for permission decisions if a file may be accessed.
-It is intended for event listeners that need to access files before they
-contain their final data.
+It is intended for event listeners
+that may need to write data to files
+before their final data can be accessed.
This notification class might be used by hierarchical storage managers,
for example.
Use of this flag requires the
.B FAN_CLASS_CONTENT
is required.
.TP
+.BR FAN_PRE_ACCESS " (since Linux 6.14)"
+.\" commit 4f8afa33817a6420398d1c177c6e220a05081f51
+Create an event before read or write access to a file range,
+that provides an opportunity for the event listener
+to modify the content of the file
+before access to the content
+in the specified range.
+An additional information record of type
+.B FAN_EVENT_INFO_TYPE_RANGE
+is returned for each event in the read buffer.
+An fanotify file descriptor created with
+.B FAN_CLASS_PRE_CONTENT
+is required.
+.TP
.B FAN_ONDIR
Create events for directories\[em]for example, when
.BR opendir (3),
.EE
.in
.P
+In case of
+.B FAN_PRE_ACCESS
+events,
+an additional information record describing the access range
+is returned alongside the generic
+.I fanotify_event_metadata
+structure within the read buffer.
+This structure is defined as follows:
+.P
+.in +4n
+.EX
+struct fanotify_event_info_range {
+ struct fanotify_event_info_header hdr;
+ __u32 pad;
+ __u64 offset;
+ __u64 count;
+};
+.EE
+.in
+.P
All information records contain a nested structure of type
.IR fanotify_event_info_header .
This structure holds meta-information about the information record
.BR FAN_EVENT_INFO_TYPE_FID ,
.BR FAN_EVENT_INFO_TYPE_DFID ,
.BR FAN_EVENT_INFO_TYPE_DFID_NAME ,
-or
-.BR FAN_EVENT_INFO_TYPE_PIDFD .
+.BR FAN_EVENT_INFO_TYPE_PIDFD ,
+.BR FAN_EVENT_INFO_TYPE_ERROR ,
+.BR FAN_EVENT_INFO_TYPE_RANGE .
The value set for this field
is dependent on the flags that have been supplied to
.BR fanotify_init (2).
This is a counter of the number of errors suppressed
since the last error was read.
.P
+The fields of the
+.I fanotify_event_info_range
+structure are as follows:
+.TP
+.I hdr
+This is a structure of type
+.IR fanotify_event_info_header .
+The
+.I info_type
+field is set to
+.BR FAN_EVENT_INFO_TYPE_RANGE .
+.TP
+.I count
+The number of bytes being read or written to the file.
+.TP
+.I offset
+The offset from which bytes are read or written to the file.
+.P
The following macros are provided to iterate over a buffer containing
fanotify event metadata returned by a
.BR read (2)