Re: [PATCH] fanotify_mark.2: Document FAN_MARK_EVICTABLE

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

 



Hi Amir,

On 9/4/22 17:46, 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.

Sure.  Also, please check some comments of mine below.

Cheers,

Alex


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

.PP followed by another paragraph macro is a no-op.  Remove .PP above.

Check the 'Paragraph macros' subsection in groff_man(7) for more details.

$ man groff_man
/^...Paragraph macros

+.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

I think 'Therefore' should continue the last sentence and be separated by ',' or ';' instead of '.', and possibly removing the ',' after it.

+when the memory pressure on the system is high.
+The eviction of the inode object results in the evictable mark also
+being lost.

Please rewrap the sentence above according to semantic newlines.

man-pages(7):
   Use semantic newlines
       In the source of a manual page, new sentences  should  be
       started on new lines, long sentences should be split into
       lines  at  clause breaks (commas, semicolons, colons, and
       so on), and long clauses should be split at phrase bound‐
       aries.  This convention,  sometimes  known  as  "semantic
       newlines",  makes it easier to see the effect of patches,
       which often operate at the level of individual sentences,
       clauses, or phrases.


+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

Some rewording needed ni the sentence above.

+.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

s/$/,/

+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

--
Alejandro Colomar
<http://www.alejandro-colomar.es/>

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[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