inotify: notify IN_DELETE_SELF when file is deleted or inode deleted ?
Hi,
By playing with inotify (on user side) to know whether the file I'm using is deleted by someone else, I have noted that I do not receive the IN_DELETE_SELF event, exactly because I'm using it. By checking into kernel area, I see that at unlink(), an IN_ATTRIB event is sent, but IN_DELETE_SELF is, indeed, sent only when the inode is deleted.
But such IN_ATTRIB event doesn't tell to the user what has changed among permissions, timestamps, link count, etc...
So it doesn't much help. Of course, I have noted that I can monitor the parent directory for IN_DELETE and then check which file has been deleted; few more stuff to do but it works, no pb.
But I'm still wondering after reading in the man.:
IN_DELETE_SELF Watched file/directory was itself deleted.
Is this really the expected behavior ? Shouldn't the kernel trig such event at unlink() ? Or is inotify clearly inode oriented ?
Thanks,
Pierre
PS: keep me in cc, I'm not subscribed to the list.
It is inode oriented. Makes it a pain to work with, but that's how it is. Sorry!
Quoted 29 lines · Pierre PEIFFER
Hi,
By playing with inotify (on user side) to know whether the file I'm using is deleted by someone else, I have noted that I do not receive the
IN_DELETE_SELFevent, exactly because I'm using it. By checking into kernel area, I see that atunlink(), anIN_ATTRIBevent is sent, butIN_DELETE_SELFis, indeed, sent only when the inode is deleted.But such
IN_ATTRIBevent doesn't tell to the user what has changed among permissions, timestamps, link count, etc...
So it doesn't much help. Of course, I have noted that I can monitor the parent directory forIN_DELETEand then check which file has been deleted; few more stuff to do but it works, no pb.But I'm still wondering after reading in the man.:
IN_DELETE_SELFWatched file/directory was itself deleted.
Is this really the expected behavior ? Shouldn't the kernel trig such event atunlink()? Or is inotify clearly inode oriented ?Thanks,
Pierre
PS: keep me in cc, I'm not subscribed to the list.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/