Lines Matching +full:one +full:- +full:to +full:- +full:one
8 --Deleted obsoleted interface, just refer to manpages for user interface.
12 Q: What is the design decision behind not tying the watch to the open fd of
21 Q: What is the design decision behind using an-fd-per-instance as opposed to
22 an fd-per-watch?
24 A: An fd-per-watch quickly consumes more file descriptors than are allowed,
25 more fd's than are feasible to manage, and more fd's than are optimally
26 select()-able. Yes, root can bump the per-process fd limit and yes, users
29 spaces is thus sensible. The current design is what user-space developers
30 want: Users initialize inotify, once, and add n watches, requiring but one
32 thousand times is silly. If we can implement user-space's preferences
33 cleanly--and we can, the idr layer makes stuff like this trivial--then we
37 item to block on, which is mapped to a single queue of events. The single
38 fd returns all watch events and also any potential out-of-band data. If
41 - There would be no way to get event ordering. Events on file foo and
42 file bar would pop poll() on both fd's, but there would be no way to tell
44 ordering is crucial to existing applications such as Beagle. Imagine
47 - We'd have to maintain n fd's and n internal queues with state,
48 versus just one. It is a lot messier in the kernel. A single, linear
51 - User-space developers prefer the current API. The Beagle guys, for
53 to manage and block on 1000 fd's via select?
55 - No way to get out of band data.
57 - 1024 is still too low. ;-)
60 scales to 1000s of directories, juggling 1000s of fd's just does not seem
63 Additionally, it _is_ possible to more than one instance and
64 juggle more than one queue and thus more than one associated fd. There
65 need not be a one-fd-per-process mapping; it is one-fd-per-queue and a
66 process can easily want more than one queue.
70 A: The poor user-space interface is the second biggest problem with dnotify.
73 file descriptor-based one that allows basic file I/O and poll/select.
75 device file or a family of new system calls. We decided to implement a
77 interfaces. The only real difference was whether we wanted to use open(2)