tracker doesn't leave any for the rest of the class
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Won't Fix
|
Medium
|
Unassigned | ||
linux-source-2.6.22 (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned | ||
tracker (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
Binary package hint: tracker
inotify sucks.
In order to watch a directory tree, you have to walk the tree and add an inotify watch for every directory in the tree; watching the root won't tell you about changes in children directories.
To make matters worse, there is a limit on the number of inotify watches you can have -- and that limit is per-user rather than per-instance. (If it were per-instance, you could just add another inotify instance -- but then there are also per-user limits on the number of inotify instances, but I'm digressing).
I have what I think is a pretty typical developer's home directory, it's certainly not that old so hasn't had time to grow ridiculously large yet.
It has over 16,500 directories in it. Most of these seem to be under .svn, .bzr and .git -- I guess they like directories.
This is over twice the number of per-user inotify watches available.
trackerd happily adds watches until it runs out -- denying any other user process from using inotify at all!
This is not ideal.
Changed in tracker: | |
importance: | Undecided → High |
Changed in linux-source-2.6.22: | |
assignee: | jamiemcc → jamiemcc-blueyonder |
Changed in linux: | |
assignee: | nobody → ubuntu-kernel-team |
importance: | Undecided → Medium |
status: | New → Triaged |
Confirmed here too. I spent a few hours trying to solve an issue whereby one of my development projects that uses inotify couldn't add new watches. I checked the maximum limits but couldn't find a way to get inotify to report a list of the watches so in the end gave up on it.
Like Scott I have a *lot* of directories configured in two trees (Projects/ and SourceCode)/. SourceCode has copies of the source of about a hundred packages I have debugged or inspected and in addition the complete kernel, l-u-m and l-r-m trees for Feisty, Gutsy and kernel.org.