It doesn't look like the patches have been backported to Hardy (I'll include the upstream git commit id's below). However, they do appear to be available in the upcoming Intrepid kernel. Care to maybe give the Intrepid kernel a test? It was most recently rebased with the upstream 2.6.25 kernel and is currently available in the following PPA:
You should then be able to install the linux-image-2.6.25 kernel package. After you've finished testing you can remove the kernel-ppa.list file and run 'sudo apt-get update' once more. Please let us know your results.
And just for reference, the git commit id's and descriptions are as follows:
commit d599e36a9ea85432587f4550acc113cd7549d12a
Author: Nick Piggin <email address hidden>
Date: Wed Feb 6 01:37:28 2008 -0800
inotify: fix race
There is a race between setting an inode's children's "parent watched" flag
when placing the first watch on a parent, and instantiating new children of
that parent: a child could miss having its flags set by
set_dentry_child_flags, but then inotify_d_instantiate might still see
!inotify_inode_watched.
The solution is to set_dentry_child_flags after adding the watch. Locking i
taken care of, because both set_dentry_child_flags and inotify_d_instantiate
hold dcache_lock and child->d_locks.
commit 0d71bd5993b630a989d15adc2562a9ffe41cd26d
Author: Nick Piggin <email address hidden>
Date: Wed Feb 6 01:37:29 2008 -0800
inotify: remove debug code
The inotify debugging code is supposed to verify that the
DCACHE_INOTIFY_PARENT_WATCHED scalability optimisation does not result in
notifications getting lost nor extra needless locking generated.
Unfortunately there are also some races in the debugging code. And it isn't
very good at finding problems anyway. So remove it for now.
Hi Rich,
It doesn't look like the patches have been backported to Hardy (I'll include the upstream git commit id's below). However, they do appear to be available in the upcoming Intrepid kernel. Care to maybe give the Intrepid kernel a test? It was most recently rebased with the upstream 2.6.25 kernel and is currently available in the following PPA:
https:/ /edge.launchpad .net/~kernel- ppa/+archive
If you are not familiar with how to install packages from a PPA basically do the following . . .
Create the file /etc/apt/ sources. list.d/ kernel- ppa.list to include the following two lines:
deb http:// ppa.launchpad. net/kernel- ppa/ubuntu hardy main ppa.launchpad. net/kernel- ppa/ubuntu hardy main
deb-src http://
Then run the command: sudo apt-get update
You should then be able to install the linux-image-2.6.25 kernel package. After you've finished testing you can remove the kernel-ppa.list file and run 'sudo apt-get update' once more. Please let us know your results.
And just for reference, the git commit id's and descriptions are as follows:
commit d599e36a9ea8543 2587f4550acc113 cd7549d12a
Author: Nick Piggin <email address hidden>
Date: Wed Feb 6 01:37:28 2008 -0800
inotify: fix race
There is a race between setting an inode's children's "parent watched" flag
when placing the first watch on a parent, and instantiating new children of
that parent: a child could miss having its flags set by
set_ dentry_ child_flags, but then inotify_ d_instantiate might still see
!inotify_ inode_watched.
The solution is to set_dentry_ child_flags after adding the watch. Locking i
taken care of, because both set_dentry_ child_flags and inotify_ d_instantiate
hold dcache_lock and child->d_locks.
commit 0d71bd5993b630a 989d15adc2562a9 ffe41cd26d
Author: Nick Piggin <email address hidden>
Date: Wed Feb 6 01:37:29 2008 -0800
inotify: remove debug code
The inotify debugging code is supposed to verify that the
DCACHE_ INOTIFY_ PARENT_ WATCHED scalability optimisation does not result in
notifications getting lost nor extra needless locking generated.
Unfortunately there are also some races in the debugging code. And it isn't
very good at finding problems anyway. So remove it for now.