Re: Inotify problem [was Re: 2.6.13-rc6-mm1]

John McCutchan
2005-08-25T14:13:50Z

On Thu, 2005-08-25 at 09:47 -0400, Robert Love wrote:
> On Thu, 2005-08-25 at 09:40 -0400, John McCutchan wrote:
>
> > I get that message a lot. I know I have said this before (and was wrong)
> > but I think the idr layer is busted.
>
> This time I think I agree with you. ;-)
>
> Let's just pass zero for the "above" parameter in idr_get_new_above(),
> which is I believe the behavior of the other interface, and see if the
> 1024-multiple problem goes away. We definitely did not have that
> before.
>

I will test this.

> If it does, and we don't have another solution, let's run with that for
> 2.6.13. I don't want this bug released.

I really don't want 2.6.13 to go out with this bug or the compromise. If
we use 0, we will have a lot of wd re-use. Which will cause "strange"
problems in inotify using applications that cleanup upon receipt of an
IN_IGNORE event.

The problem will manifest it self when a program does this:

inotify_add_watch "/x" returns 1
inotify_rm_watch 1
[IN_IGNORE event is queued with wd == 1]
inotify_add_watch "/y" returns 1
application reads events
cleans up data structures associated with wd == 1.

--
John McCutchan <ttb@tentacle.dhs.org>