fanotify.7, fanotify_mark.2: Clarify FAN_ONDIR in output mask

FAN_ONDIR was an input only flag before introducing
FAN_REPORT_FID.  Since the introduction of FAN_REPORT_FID, it can
also be in output mask.

Move the text describing its role in the output mask to fanotify.7
where the other output mask bits are documented.

[mtk: commit message tidy-up]

Reviewed-by: Matthew Bobrowski <mbobrowski@mbobrowski.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Amir Goldstein 2020-05-29 12:25:30 +03:00 committed by Michael Kerrisk
parent e5a800c135
commit e9898cc8ba
2 changed files with 21 additions and 14 deletions

View File

@ -278,30 +278,19 @@ Create events for directories\(emfor example, when
(but see BUGS), and
.BR closedir (3)
are called.
Without this flag, only are created only for files.
.IP
The
.BR FAN_ONDIR
flag is reported in an event mask only if the
.I fanotify_fd
file descriptor has been initialized with the flag
.BR FAN_REPORT_FID .
Without this flag, events are created only for files.
In the context of directory entry events, such as
.BR FAN_CREATE ,
.BR FAN_DELETE ,
.BR FAN_MOVED_FROM ,
and
.BR FAN_MOVED_TO
for example, specifying the flag
.BR FAN_MOVED_TO ,
specifying the flag
.BR FAN_ONDIR
is required in order to create events when subdirectory entries are
modified (i.e.,
.BR mkdir (2)/
.BR rmdir (2)).
Subdirectory entry modification events will never be merged with
nonsubdirectory entry modification events.
This flag is never reported individually within an event and is always
supplied in conjunction with another event type.
.TP
.B FAN_EVENT_ON_CHILD
Events for the immediate children of marked directories shall be created.

View File

@ -381,6 +381,24 @@ This is a synonym for:
.IP
FAN_MOVED_FROM | FAN_MOVED_TO
.PP
The following bits may appear in
.I mask
only in conjunction with other event type bits:
.TP
.B FAN_ONDIR
The events described in the
.I mask
have occurred on a directory object.
Reporting events on directories requires setting this flag in the mark mask.
See
.BR fanotify_mark (2)
for additional details.
The
.BR FAN_ONDIR
flag is reported in an event mask only if the fanotify group has been
initialized with the flag
.BR FAN_REPORT_FID .
.PP
The fields of the
.I fanotify_event_info_fid
structure are as follows: