• Jan Kara's avatar
    inotify: send IN_ATTRIB events when link count changes · ece95912
    Jan Kara authored
    Currently, no notification event has been sent when inode's link count
    changed.  This is inconvenient for the application in some cases:
    
    Suppose you have the following directory structure
    
        foo/test
        bar/
    
    and you watch test.  If someone does "mv foo/test bar/", you get event
    IN_MOVE_SELF and you know something has happened with the file "test".
    However if someone does "ln foo/test bar/test" and "rm foo/test" you get no
    inotify event for the file "test" (only directories "foo" and "bar" receive
    events).
    
    Furthermore it could be argued that link count belongs to file's metadata and
    thus IN_ATTRIB should be sent when it changes.
    
    The following patch implements sending of IN_ATTRIB inotify events when link
    count of the inode changes, i.e., when a hardlink to the inode is created or
    when it is removed.  This event is sent in addition to all the events sent so
    far.  In particular, when a last link to a file is removed, IN_ATTRIB event is
    sent in addition to IN_DELETE_SELF event.
    Signed-off-by: default avatarJan Kara <jack@suse.cz>
    Acked-by: default avatarMorten Welinder <mwelinder@gmail.com>
    Cc: Robert Love <rlove@google.com>
    Cc: John McCutchan <ttb@tentacle.dhs.org>
    Cc: Steven French <sfrench@us.ibm.com>
    Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    ece95912
namei.c 69 KB