[Bug 104837] Re: kernel warns BUG: at fs/inotify.c:172 set_dentry_child_flags()

Leann Ogasawara leann at ubuntu.com
Tue May 27 21:37:12 UTC 2008


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
deb-src http://ppa.launchpad.net/kernel-ppa/ubuntu hardy main

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 d599e36a9ea85432587f4550acc113cd7549d12a

Author: Nick Piggin <npiggin at suse.de>

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 <npiggin at suse.de>

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.

-- 
kernel warns BUG: at fs/inotify.c:172 set_dentry_child_flags()
https://bugs.launchpad.net/bugs/104837
You received this bug notification because you are a member of Kernel
Bugs, which is subscribed to Linux.




More information about the kernel-bugs mailing list