2023-05-08 12:38:30

by Konstantin Komarov

[permalink] [raw]
Subject: [PATCH 02/10] fs/ntfs3: Fix ntfs_atomic_open

This fixes xfstest 633/696.

Signed-off-by: Konstantin Komarov <[email protected]>
---
 fs/ntfs3/namei.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

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) :
-                    finish_open(file, dentry, ntfs_file_open);
+                  finish_open(file, dentry, ntfs_file_open);
     dput(d);

 out2:
--
2.34.1