Re: [PATCH] fanotify_mark.2: Document FAN_MARK_EVICTABLE

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

 



On Sun 04-09-22 18:46:39, Amir Goldstein wrote:
> Add section about evictable inode marks and example use case.
> Add possible error case EEXIST related to evictable marks.
> 
> Reviewed-by: Matthew Bobrowski <repnop@xxxxxxxxxx>
> Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx>
> ---
> 
> Hi Alex,
> 
> This is an update for a new fanotify feature in v5.19.
> Please wait to see if Jan has any commetns before merging.

Besides the mistakes Alejandro already found the patch looks good to me.

								Honza
> 
> Thanks,
> Amir.
> 
>  man2/fanotify_mark.2 | 50 ++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 50 insertions(+)
> 
> diff --git a/man2/fanotify_mark.2 b/man2/fanotify_mark.2
> index 2696a803a..757ad9159 100644
> --- a/man2/fanotify_mark.2
> +++ b/man2/fanotify_mark.2
> @@ -153,6 +153,44 @@ If this flag is not set,
>  the ignore mask is cleared when a modify event occurs
>  for the ignored file or directory.
>  .PP
> +.TP
> +.BR FAN_MARK_EVICTABLE " (since Linux 5.19)"
> +.\" commit 5f9d3bd520261fd7a850818c71809fd580e0f30c
> +When an inode mark is created with this flag,
> +the inode object will not be pinned to the inode cache.
> +Therefore, allowing the inode object to be evicted from the inode cache
> +when the memory pressure on the system is high.
> +The eviction of the inode object results in the evictable mark also
> +being lost.
> +When the mask of an evictable inode mark is updated
> +without using the
> +.B FAN_MARK_EVICATBLE
> +flag,
> +the marked inode is pinned to inode cache
> +and the mark is no longer evictable.
> +When the mask of a non-evictable inode mark is updated
> +with the
> +.B FAN_MARK_EVICTABLE
> +flag,
> +the inode mark remains non-evictable
> +and the update fails with
> +.B EEXIST
> +error.
> +Mounts and filesystems are not evictable,
> +so an attempt to create an evictable mount or filesystem mark
> +will results with
> +.B EINVAL
> +error.
> +For example,
> +inode marks can be used in combination with mount marks
> +to reduce the amount of events from noninteresting paths.
> +The event listener reads events,
> +checks if the path reported in the event is of interest
> +and if it is not,
> +the listener sets a mark with an ignore mask on the directory.
> +Evictable inode marks allow using this method for a large number of directories
> +without the concern of pinning all inodes and exhausting the system's memory.
> +.PP
>  .I mask
>  defines which events shall be listened for (or which shall be ignored).
>  It is a bit mask composed of the following values:
> @@ -409,6 +447,18 @@ is neither
>  .B AT_FDCWD
>  nor a valid file descriptor.
>  .TP
> +.B EEXIST
> +The filesystem object indicated by
> +.I dirfd
> +and
> +.I pathname
> +has a mark that was updated without the
> +.B FAN_MARK_EVICTABLE
> +flag,
> +and the user attempted to update the mark with
> +.B FAN_MARK_EVICTABLE
> +flag.
> +.TP
>  .B EINVAL
>  An invalid value was passed in
>  .I flags
> -- 
> 2.25.1
> 
-- 
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR



[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