[02/10] fs/ntfs3: Fix ntfs_atomic_open

Message ID cf807cd5-8566-6a56-f446-1f97ffd9eacc@paragon-software.com
State New
Headers
Series Refactoring and bugfix |

Commit Message

Konstantin Komarov May 8, 2023, 12:36 p.m. UTC
  This fixes xfstest 633/696.

Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
---
  fs/ntfs3/namei.c | 15 +++------------
  1 file changed, 3 insertions(+), 12 deletions(-)

-                    finish_open(file, dentry, ntfs_file_open);
+                  finish_open(file, dentry, ntfs_file_open);
      dput(d);

  out2:
  

Patch

diff --git a/fs/ntfs3/namei.c b/fs/ntfs3/namei.c
index 9736b1e4a0f6..343bce6da58a 100644
--- a/fs/ntfs3/namei.c
+++ b/fs/ntfs3/namei.c
@@ -422,19 +422,10 @@  static int ntfs_atomic_open(struct inode *dir, 
struct dentry *dentry,
       * fnd contains tree's path to insert to.
       * If fnd is not NULL then dir is locked.
       */
-
-    /*
-     * Unfortunately I don't know how to get here correct 'struct 
nameidata *nd'
-     * or 'struct mnt_idmap *idmap'.
-     * See atomic_open in fs/namei.c.
-     * This is why xfstest/633 failed.
-     * Looks like ntfs_atomic_open must accept 'struct mnt_idmap 
*idmap' as argument.
-     */
-
-    inode = ntfs_create_inode(&nop_mnt_idmap, dir, dentry, uni, mode, 0,
-                  NULL, 0, fnd);
+    inode = ntfs_create_inode(mnt_idmap(file->f_path.mnt), dir, dentry, 
uni,
+                  mode, 0, NULL, 0, fnd);
      err = IS_ERR(inode) ? PTR_ERR(inode) :