Commit de389cf0 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Jonathan Corbet

docs: filesystems: convert inotify.txt to ReST

- Add a SPDX header;
- Add a document title;
- Adjust document title;
- Fix list markups;
- Some whitespace fixes and new line breaks;
- Add it to filesystems/index.rst.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Acked-by: default avatarJan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/8f846843ecf1914988feb4d001e3a53d27dc1a65.1581955849.git.mchehab+huawei@kernel.orgSigned-off-by: default avatarJonathan Corbet <corbet@lwn.net>
parent a1ef4bcd
...@@ -70,6 +70,7 @@ Documentation for filesystem implementations. ...@@ -70,6 +70,7 @@ Documentation for filesystem implementations.
hfs hfs
hfsplus hfsplus
hpfs hpfs
inotify
fuse fuse
overlayfs overlayfs
virtiofs virtiofs
......
inotify .. SPDX-License-Identifier: GPL-2.0
a powerful yet simple file change notification system
===============================================================
Inotify - A Powerful yet Simple File Change Notification System
===============================================================
Document started 15 Mar 2005 by Robert Love <rml@novell.com> Document started 15 Mar 2005 by Robert Love <rml@novell.com>
Document updated 4 Jan 2015 by Zhang Zhen <zhenzhang.zhang@huawei.com> Document updated 4 Jan 2015 by Zhang Zhen <zhenzhang.zhang@huawei.com>
--Deleted obsoleted interface, just refer to manpages for user interface.
- Deleted obsoleted interface, just refer to manpages for user interface.
(i) Rationale (i) Rationale
Q: What is the design decision behind not tying the watch to the open fd of Q:
What is the design decision behind not tying the watch to the open fd of
the watched object? the watched object?
A: Watches are associated with an open inotify device, not an open file. A:
Watches are associated with an open inotify device, not an open file.
This solves the primary problem with dnotify: keeping the file open pins This solves the primary problem with dnotify: keeping the file open pins
the file and thus, worse, pins the mount. Dnotify is therefore infeasible the file and thus, worse, pins the mount. Dnotify is therefore infeasible
for use on a desktop system with removable media as the media cannot be for use on a desktop system with removable media as the media cannot be
unmounted. Watching a file should not require that it be open. unmounted. Watching a file should not require that it be open.
Q: What is the design decision behind using an-fd-per-instance as opposed to Q:
What is the design decision behind using an-fd-per-instance as opposed to
an fd-per-watch? an fd-per-watch?
A: An fd-per-watch quickly consumes more file descriptors than are allowed, A:
An fd-per-watch quickly consumes more file descriptors than are allowed,
more fd's than are feasible to manage, and more fd's than are optimally more fd's than are feasible to manage, and more fd's than are optimally
select()-able. Yes, root can bump the per-process fd limit and yes, users select()-able. Yes, root can bump the per-process fd limit and yes, users
can use epoll, but requiring both is a silly and extraneous requirement. can use epoll, but requiring both is a silly and extraneous requirement.
...@@ -29,8 +38,8 @@ A: An fd-per-watch quickly consumes more file descriptors than are allowed, ...@@ -29,8 +38,8 @@ A: An fd-per-watch quickly consumes more file descriptors than are allowed,
spaces is thus sensible. The current design is what user-space developers spaces is thus sensible. The current design is what user-space developers
want: Users initialize inotify, once, and add n watches, requiring but one want: Users initialize inotify, once, and add n watches, requiring but one
fd and no twiddling with fd limits. Initializing an inotify instance two fd and no twiddling with fd limits. Initializing an inotify instance two
thousand times is silly. If we can implement user-space's preferences thousand times is silly. If we can implement user-space's preferences
cleanly--and we can, the idr layer makes stuff like this trivial--then we cleanly--and we can, the idr layer makes stuff like this trivial--then we
should. should.
There are other good arguments. With a single fd, there is a single There are other good arguments. With a single fd, there is a single
...@@ -65,9 +74,11 @@ A: An fd-per-watch quickly consumes more file descriptors than are allowed, ...@@ -65,9 +74,11 @@ A: An fd-per-watch quickly consumes more file descriptors than are allowed,
need not be a one-fd-per-process mapping; it is one-fd-per-queue and a need not be a one-fd-per-process mapping; it is one-fd-per-queue and a
process can easily want more than one queue. process can easily want more than one queue.
Q: Why the system call approach? Q:
Why the system call approach?
A: The poor user-space interface is the second biggest problem with dnotify. A:
The poor user-space interface is the second biggest problem with dnotify.
Signals are a terrible, terrible interface for file notification. Or for Signals are a terrible, terrible interface for file notification. Or for
anything, for that matter. The ideal solution, from all perspectives, is a anything, for that matter. The ideal solution, from all perspectives, is a
file descriptor-based one that allows basic file I/O and poll/select. file descriptor-based one that allows basic file I/O and poll/select.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment