Re: [GIT PULL] notification tree - try 37!

From: Andreas Gruenbacher
Date: Mon Aug 23 2010 - 18:38:45 EST


On Monday 23 August 2010 18:46:13 Eric Paris wrote:
> Spent a bit of the weekend trying to figure out what you were doing and
> couldn't reproduce it or find it in the code because I had already fixed
> it (albeit for slightly different reasons). The patch in question was:
>
> http://marc.info/?l=linux-kernel&m=128214903125780&w=2
>
> the vfsmount_test_mask was always initialized but since no vfsmount
> marks were found it was never cleared. This left the code thinking that
> the given (inode) mark was interested in the event.

That seems to explain it. I can no longer reproduce the bug with your current
for-linus tree (3ba67c8a) using my previous method.

Sorry this bug was difficult for you to track down; I was not even aware of
this fix until today.

> I think you could reproduce it differently
>
> inotifywait -m -e open /mnt/tmp
> inotifywait -m -e close /mnt/tmp
>
> and you would get both event types for both watches.

No, the open listener gets:
d/ OPEN,ISDIR

and the close listener gets:
d/ CLOSE_NOWRITE,CLOSE,ISDIR

I tried to reproduce the previously failing case with inotifywait. I can see
that inotifywait receives five inotify events at the syscall level, but it
will not report events with mask == 0.

Thanks,
Andreas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/