Re: 2.6.16-rc5-mm1

Andrew Morton
2006-03-01T03:21:24Z

Nick Piggin <nickpiggin@yahoo.com.au> wrote:
>
> Andrew Morton wrote:
> > Nick Piggin <nickpiggin@yahoo.com.au> wrote:
> >
> >>>>Feb 28 15:13:42 ltg01-sid kernel: BUG: warning at
> >>>>/usr/src/linux-mm/fs/inotify.c:533/inotify_d_instantiate()
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [show_trace+13/15] show_trace+0xd/0xf
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [dump_stack+21/23] dump_stack+0x15/0x17
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [inotify_d_instantiate+47/98]
> >>>>inotify_d_instantiate+0x2f/0x62
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [d_instantiate+70/114]
> >>>>d_instantiate+0x46/0x72
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [ext3_add_nondir+44/64]
> >>>>ext3_add_nondir+0x2c/0x40
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [ext3_link+163/217] ext3_link+0xa3/0xd9
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [vfs_link+292/379] vfs_link+0x124/0x17b
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [sys_linkat+157/218] sys_linkat+0x9d/0xda
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [sys_link+20/25] sys_link+0x14/0x19
> >>>>Feb 28 15:13:42 ltg01-sid kernel: [syscall_call+7/11] syscall_call+0x7/0xb
> >>>>
> >>>>Here is dmesg http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-dmesg
> >>>>Here is config http://www.stardust.webpages.pl/files/mm/2.6.16-rc5-mm1/mm-config
> >>>
> >>>
> >>>This patch is causing that warning
> >>>inotify-lock-avoidance-with-parent-watch-status-in-dentry.patch
> >>>
> >>
> >>The warning is harmless really. I guess it can be removed.
> >
> >
> > ? How did DCACHE_INOTIFY_PARENT_WATCHED get set on that dentry?
> >
>
> I guess it is because I don't clear it on +ve => -ve conversions.
> We _could_ do that AFAIKS, by hooking into d_delete, but it would
> have to be yet another fsnotify hook there because it will have to
> be done under lock.
>

How could a -ve dentry become the source of a link? We should be sure we
know why this happened before ignoring it..