lkml.org 
[lkml]   [2007]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectInotify fails to send IN_ATTRIB events
I am seeing missing inotify IN_ATTRIB events in the following situation:

1. "touch foo"

2. Make inotify watch "foo"

3. "ln foo bar"
--> Link count changed so I should have gotten an IN_ATTRIB.

4. "rm foo"
--> Link count changed so I should have gotten an IN_ATTRIB. (Or
IN_DELETE_SELF;
I don't care which.)

5. "ln bar foo && rm bar"
--> Still no events.

6. "mv foo bar"
--> I get IN_MOVED_SELF. Good!

7. "mv bar foo"
--> I get IN_MOVED_SELF. Good!


3+4 is pretty much the same as 6, so I really ought to be told that my
file has changed
name. I don't really care much about getting notified about 3, but
for completeness
it ought to be handled.

As far as I can see, the only way to be told about 4 is to put a watch
on the directory in
which foo resides. That is inelegant and has an inherent race condition.

This is with "Linux version 2.6.22.12-0.1-default" (SuSE 10.3)

Looking at current source, fs/namei.c, I notice that vfs_rename has a
fsnotify_move call
(which notified directory as well as files) whereas sys_link only has
a fsnotify_create call
(which notified the directory only).

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

\
 
 \ /
  Last update: 2007-11-21 04:13    [W:0.343 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site