Re: [PATCH 1/4] fanotify_mark.2: Clarification about FAN_MARK_MOUNT and FAN_REPORT_FID

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Amir,

On 4/20/20 8:42 PM, Amir Goldstein wrote:
> It is not true that FAN_MARK_MOUNT cannot be used with a group that
> was initialized with flag FAN_REPORT_FID.
> 
> The correct assertion is that events that require a group with flag
> FAN_REPORT_FID cannot be requested on a mark mount.
> 
> For exaple, a FAN_OPEN event can be requested on a mark mount and
> will generate an event with file handle information if the group was
> initialized with flag FAN_REPORT_FID.
> 
> Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx>
> Reviewed-by: Jan Kara <jack@xxxxxxx>
> Reviewed-by: Matthew Bobrowski <mbobrowski@xxxxxxxxxxxxxx>

Thanks. Patch applied.

@Jan, @Matthew: thanks for the reviews!

Cheers,

Michael

> ---
>  man2/fanotify_mark.2 | 41 ++++++++++++++++++++++++++++++++++++-----
>  1 file changed, 36 insertions(+), 5 deletions(-)
> 
> diff --git a/man2/fanotify_mark.2 b/man2/fanotify_mark.2
> index 30290d519..687e20f4a 100644
> --- a/man2/fanotify_mark.2
> +++ b/man2/fanotify_mark.2
> @@ -126,12 +126,22 @@ is not itself a mount point, the mount point containing
>  will be marked.
>  All directories, subdirectories, and the contained files of the mount point
>  will be monitored.
> -This value cannot be used if the
> +The events which require the
>  .I fanotify_fd
> -file descriptor has been initialized with the flag
> -.BR FAN_REPORT_FID
> -or if any of the new directory modification events are provided as a
> -.IR mask .
> +file descriptor to have been intialized with the flag
> +.BR FAN_REPORT_FID ,
> +such as
> +.BR FAN_CREATE ,
> +.BR FAN_ATTRIB ,
> +.BR FAN_MOVE ,
> +and
> +.BR FAN_DELETE_SELF ,
> +cannot be provided as a
> +.IR mask
> +when
> +.I flags
> +contains
> +.BR FAN_MARK_MOUNT .
>  Attempting to do so will result in the error
>  .B EINVAL
>  being returned.
> @@ -184,34 +194,55 @@ See NOTES for additional details.
>  .BR FAN_ATTRIB " (since Linux 5.1)"
>  .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2
>  Create an event when the metadata for a file or directory has changed.
> +An fanotify file descriptor created with
> +.B FAN_REPORT_FID
> +is required.
>  .TP
>  .BR FAN_CREATE " (since Linux 5.1)"
>  .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2
>  Create an event when a file or directory has been created in a marked
>  parent directory.
> +An fanotify file descriptor created with
> +.B FAN_REPORT_FID
> +is required.
>  .TP
>  .BR FAN_DELETE " (since Linux 5.1)"
>  .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2
>  Create an event when a file or directory has been deleted in a marked
>  parent directory.
> +An fanotify file descriptor created with
> +.B FAN_REPORT_FID
> +is required.
>  .TP
>  .BR FAN_DELETE_SELF " (since Linux 5.1)"
>  .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2
>  Create an event when a marked file or directory itself is deleted.
> +An fanotify file descriptor created with
> +.B FAN_REPORT_FID
> +is required.
>  .TP
>  .BR FAN_MOVED_FROM " (since Linux 5.1)"
>  .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2
>  Create an event when a file or directory has been moved from a marked
>  parent directory.
> +An fanotify file descriptor created with
> +.B FAN_REPORT_FID
> +is required.
>  .TP
>  .BR FAN_MOVED_TO " (since Linux 5.1)"
>  .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2
>  Create an event when a file or directory has been moved to a marked parent
>  directory.
> +An fanotify file descriptor created with
> +.B FAN_REPORT_FID
> +is required.
>  .TP
>  .BR FAN_MOVE_SELF " (since Linux 5.1)"
>  .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2
>  Create an event when a marked file or directory itself has been moved.
> +An fanotify file descriptor created with
> +.B FAN_REPORT_FID
> +is required.
>  .TP
>  .B FAN_Q_OVERFLOW
>  Create an event when an overflow of the event queue occurs.
> 


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux