summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonstantin Komarov <almaz.alexandrovich@paragon-software.com>2023-05-08 11:26:45 +0400
committerKonstantin Komarov <almaz.alexandrovich@paragon-software.com>2023-07-03 00:21:24 +0400
commitd6cd7cecfd5e4a189db97876c317d96ebca075fa (patch)
tree29c4405b096f2d28f7427b48da25c7e7a8bb65f4
parent14f527d44de632c8d1d65b42ca1bee26bc426455 (diff)
downloadlinux-stable-d6cd7cecfd5e4a189db97876c317d96ebca075fa.tar.gz
linux-stable-d6cd7cecfd5e4a189db97876c317d96ebca075fa.tar.bz2
linux-stable-d6cd7cecfd5e4a189db97876c317d96ebca075fa.zip
fs/ntfs3: Fix ntfs_atomic_open
This fixes xfstest 633/696. Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
-rw-r--r--fs/ntfs3/namei.c15
1 files 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: