sysctl: move some boundary constants from sysctl.c to sysctl_vals
[linux-block.git] / include / linux / fsnotify.h
index 787545e87eeb053d8016ebfecc1a5c67f806ff8b..3a2d7dc3c6071a424d81305486a146f155c875b1 100644 (file)
@@ -144,16 +144,19 @@ static inline void fsnotify_move(struct inode *old_dir, struct inode *new_dir,
        u32 fs_cookie = fsnotify_get_cookie();
        __u32 old_dir_mask = FS_MOVED_FROM;
        __u32 new_dir_mask = FS_MOVED_TO;
+       __u32 rename_mask = FS_RENAME;
        const struct qstr *new_name = &moved->d_name;
 
-       if (old_dir == new_dir)
-               old_dir_mask |= FS_DN_RENAME;
-
        if (isdir) {
                old_dir_mask |= FS_ISDIR;
                new_dir_mask |= FS_ISDIR;
+               rename_mask |= FS_ISDIR;
        }
 
+       /* Event with information about both old and new parent+name */
+       fsnotify_name(rename_mask, moved, FSNOTIFY_EVENT_DENTRY,
+                     old_dir, old_name, 0);
+
        fsnotify_name(old_dir_mask, source, FSNOTIFY_EVENT_INODE,
                      old_dir, old_name, fs_cookie);
        fsnotify_name(new_dir_mask, source, FSNOTIFY_EVENT_INODE,