/*
* By the time this is called, we already have created
* the directory cache entry for the new file, but it
+@@ -1745,7 +1769,8 @@ retry:
+ if (IS_DIRSYNC(dir))
+ ext4_handle_sync(handle);
+
+- inode = ext4_new_inode(handle, dir, mode, &dentry->d_name, 0);
++ inode = ext4_new_inode(handle, dir, mode, &dentry->d_name,
++ ext4_dentry_goal(dir->i_sb, dentry));
+ err = PTR_ERR(inode);
+ if (!IS_ERR(inode)) {
+ inode->i_op = &ext4_file_inode_operations;
+@@ -1779,7 +1804,8 @@ retry:
+ if (IS_DIRSYNC(dir))
+ ext4_handle_sync(handle);
+
+- inode = ext4_new_inode(handle, dir, mode, &dentry->d_name, 0);
++ inode = ext4_new_inode(handle, dir, mode, &dentry->d_name,
++ ext4_dentry_goal(dir->i_sb, dentry));
+ err = PTR_ERR(inode);
+ if (!IS_ERR(inode)) {
+ init_special_inode(inode, inode->i_mode, rdev);
+@@ -1817,7 +1843,7 @@ retry:
+ ext4_handle_sync(handle);
+
+ inode = ext4_new_inode(handle, dir, S_IFDIR | mode,
+- &dentry->d_name, 0);
++ &dentry->d_name, ext4_dentry_goal(dir->i_sb, dentry));
+ err = PTR_ERR(inode);
+ if (IS_ERR(inode))
+ goto out_stop;
+@@ -2238,7 +2264,7 @@ retry:
+ ext4_handle_sync(handle);
+
+ inode = ext4_new_inode(handle, dir, S_IFLNK|S_IRWXUGO,
+- &dentry->d_name, 0);
++ &dentry->d_name, ext4_dentry_goal(dir->i_sb, dentry));
+ err = PTR_ERR(inode);
+ if (IS_ERR(inode))
+ goto out_stop;