Attachments (2)
Change History (19)
comment:1 by , 18 years ago
comment:2 by , 18 years ago
Here's one email from Jürg Billeter. http://archives.linuxfromscratch.org/mail-archives/lfs-dev/2005-December/054873.html . He has a link to this patch. http://www.paldo.org/paldo/sources/linux-libc-headers/linux-libc-headers-20051121-inotify-1.patch.bz2
comment:3 by , 18 years ago
I belive this is the email with the patch that you were looking for. http://archives.linuxfromscratch.org/mail-archives/lfs-dev/2006-April/056688.html
comment:4 by , 18 years ago
One more important piece is still missing: what should I do to see that the patch indeed works as needed, and the unpatched system doesn't?
Udev is already able to reread its configuration files when they are changed, and uses inotify to get the change notification.
comment:5 by , 18 years ago
Udev works because it has the udev_libc_wrapper.h, and the suggested patch adds essentially the same stuff and is non-intrusive. This doesn't invalidate my comment about the testcase.
comment:6 by , 18 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
I found the patch from the above link and since it merely adds a header file and doesn't change anything else, and since it has been tested, I'll put that in 6.2.
comment:8 by , 18 years ago
In glibc-2.4 sys/inotify.h is installed no-matter what. Glibc-2.3.6 doesn't have this header. I have gamin-0.1.7 with inotify support. Gamin looks for the kernel header (linux/inotify.h) where as inotify-tools package uses its own internal header: http://inotify-tools.sourceforge.net/
comment:9 by , 18 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Added the patch at revision 7710.
comment:10 by , 18 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Reopening because the description of the patch is just plain wrong. The patch is not "needed" by any application, it can be used, but is certainly not needed.
Please, describe it properly.
comment:11 by , 18 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
OK, I changed the text, but it would be helpful in these cases to give some suggested wording.
comment:12 by , 18 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
This is not fixed at all. To use inotify, the following has to be present:
- IN_* defines, they come from >sys/inotify.h> that the patch adds
- The syscalls, get them from http://www.diy-linux.org/downloads/patches/linux-libc-headers-2.6.12.0-x86-syscalls-1.patch (you may cut the unrelated ones out, and adjust NR_syscalls accordingly)
- The functions that call those syscalls. Currently, even DIY misses this.
If any of the items above is missing, inotify is unusable. Some packages (like inotify-tools-2.1) provide all pieces by themselves. Some (like dovecot) don't provide any. Packages that provide only some of the items don't exist because doing so is inconsistent.
The current patch, thus, is bad (i.e., not better than nothing) and should be removed. Alternative solutions are accepted as long as dovecot-1.0rc2 builds with the --with-notify=inotify flag passed to the ./configure script (currently, it doesn't).
comment:13 by , 18 years ago
Indeed, gamin looks for the <linux/inotify.h> header, and provides a local fallback. The local copy of the syscalls is always used.
Summary of the situation with the current patch:
- Udev, gamin, perl Linux::Inotify2 module, and inotify-tools compile and work with the patch. Dovecot doesn't even compile with the --with-notify=inotify flag.
- Udev, gamin, perl Linux::Inotify2 module, and inotify-tools compile successfully and work just as well without the patch, and use inotify. Dovecot doesn't even compile with the --with-notify=inotify flag.
So: the inotify-1 patch is not better then nothing. A better patch that allows Dovecot to use inotify will be attached now.
comment:14 by , 18 years ago
The linux-libc-headers-2.6.12.0-inotify-2.patch patch has to be used with glibc-2.3.6, linux-libc-headers-2.6.12.0-inotify-2.2.patch is for glibc-2.4. Both are i386 and ppc only (i.e., for the architectures supported by the LiveCD).
Note: with linux-libc-headers-2.6.12.0-inotify-2.patch, you have to install the provided include/sys/inotify.h as /usr/include/sys/inotify.h.
comment:15 by , 18 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Updated the patch at revision 7719.
comment:16 by , 18 years ago
The sys/inotify.h header is not installed. Such situation is not better than nothing, because the functions are not available to applications.
comment:17 by , 18 years ago
Really fixed it (I think) by actually installing sys/inotify.h during Glibc install. See r7738.
This is a bit cryptic. If I knew what to do, I'd do it.