goto exit;
        }
        d_move(old_dentry, dentry);
-       fsnotify_move(d_inode(old_dir), d_inode(new_dir), old_name.name.name,
+       fsnotify_move(d_inode(old_dir), d_inode(new_dir), &old_name.name,
                d_is_dir(old_dentry),
                NULL, old_dentry);
        release_dentry_name_snapshot(&old_name);
 
                inode_unlock(target);
        dput(new_dentry);
        if (!error) {
-               fsnotify_move(old_dir, new_dir, old_name.name.name, is_dir,
+               fsnotify_move(old_dir, new_dir, &old_name.name, is_dir,
                              !(flags & RENAME_EXCHANGE) ? target : NULL, old_dentry);
                if (flags & RENAME_EXCHANGE) {
-                       fsnotify_move(new_dir, old_dir, old_dentry->d_name.name,
+                       fsnotify_move(new_dir, old_dir, &old_dentry->d_name,
                                      new_is_dir, NULL, new_dentry);
                }
        }
 
  * fsnotify_move - file old_name at old_dir was moved to new_name at new_dir
  */
 static inline void fsnotify_move(struct inode *old_dir, struct inode *new_dir,
-                                const unsigned char *old_name,
+                                const struct qstr *old_name,
                                 int isdir, struct inode *target,
                                 struct dentry *moved)
 {
                mask |= FS_ISDIR;
        }
 
-       fsnotify(old_dir, old_dir_mask, source, FSNOTIFY_EVENT_INODE, old_name,
+       fsnotify(old_dir, old_dir_mask, source, FSNOTIFY_EVENT_INODE, old_name->name,
                 fs_cookie);
        fsnotify(new_dir, new_dir_mask, source, FSNOTIFY_EVENT_INODE, new_name,
                 fs_cookie);