summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO40
-rw-r--r--.gitignore1
-rw-r--r--Makefile.patch4
-rw-r--r--PKGBUILD41
-rw-r--r--dkms.conf2
-rw-r--r--v20_fix.patch466
6 files changed, 513 insertions, 41 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 61547e85ba92..f810cec4d790 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = ntfs3-dkms
pkgdesc = NTFS read-write driver GPL implementation by Paragon Software. Current version works with NTFS (including v3.1), normal/compressed/sparse files and supports journal replaying.
- pkgver = 19.0.0
+ pkgver = 20.0.0
pkgrel = 1
url = https://www.paragon-software.com/home/ntfs3-driver-faq/
arch = any
@@ -9,24 +9,26 @@ pkgbase = ntfs3-dkms
options = !strip
source = Makefile.patch
source = dkms.conf
- source = v19.0.0~1.patch::https://lore.kernel.org/lkml/20210128090455.3576502-2-almaz.alexandrovich@paragon-software.com/raw
- source = v19.0.0~2.patch::https://lore.kernel.org/lkml/20210128090455.3576502-3-almaz.alexandrovich@paragon-software.com/raw
- source = v19.0.0~3.patch::https://lore.kernel.org/lkml/20210128090455.3576502-4-almaz.alexandrovich@paragon-software.com/raw
- source = v19.0.0~4.patch::https://lore.kernel.org/lkml/20210128090455.3576502-5-almaz.alexandrovich@paragon-software.com/raw
- source = v19.0.0~5.patch::https://lore.kernel.org/lkml/20210128090455.3576502-6-almaz.alexandrovich@paragon-software.com/raw
- source = v19.0.0~6.patch::https://lore.kernel.org/lkml/20210128090455.3576502-7-almaz.alexandrovich@paragon-software.com/raw
- source = v19.0.0~7.patch::https://lore.kernel.org/lkml/20210128090455.3576502-8-almaz.alexandrovich@paragon-software.com/raw
- source = v19.0.0~8.patch::https://lore.kernel.org/lkml/20210128090455.3576502-9-almaz.alexandrovich@paragon-software.com/raw
- sha512sums = 3d47cccc7914b42dbcc670bcb9144f948a42d0ba57843140373afec0483570597b4b4ad61753742b282626f50aec25cabbeb88aadc94d2cb67ec1c612b6ed41d
- sha512sums = f98f7ebeba0e3aa0555801b05d7d8e54139ae4b9c4443c67475c17fd1cde91126f1a275ab5ad7ea48a8161fb3a210986237da1fa1c9dfd315cf108ebdc645633
- sha512sums = 5d084ca098eb0753ec325a04b02f0c92a6c8e25c2e590539868e56dae1185327aa232300e3ad382ea5a5a9a6a044b827762891d394745774e553e82cf0ef8099
- sha512sums = 9949726ea2e0ec98ccfae30aeb99f801245d0912269498a9c4ebc1fa8cf0ed205d7518cb5626aead41c64578131559cf6c7195cca104184dc1c658fae3be0180
- sha512sums = 2268105de76feebb684e42d5a1885ca53cbd308d8ddc5d749126339218fb39f7867a36624af240e2c7ec6d3fda049c5e947815ae262f2c083c1ae6c6beb9bbe1
- sha512sums = fddbda4c4a3d858f6740673c69613eacc4fca51ad564770588a363f2f09f2225a000f1507fca9f5dda723f4250438e9c3b6373fb2e98c0cf0ba197e9b4ef2c99
- sha512sums = c77ba7eb033286963569ab32a457ff613b6244eafb08c4ab9c5a8945ff058caccd5af65885c34a7caa82b09821edc9b6ed562c7def19f1bce2f5369fa5b6d2ff
- sha512sums = a78ef11cef86d563148669bab42b2bf8ac756c9de0a796dacc36810fc8f19484f74ae8c91ec063188b219d7201bee8bd98258f3b1341f93210a361d06212c149
- sha512sums = fcf2d17aeb22c00b3886150f970e2adf61a4cc00efe6185ac935164a32ad69c95a0be6d03152b3f3de58e3a701d8c25c7c3d340fc56c19d1995eb5df1041a8a3
- sha512sums = b894ee23f7722e2515048dadbd07605a6cf93fbe9194891b0038374c4bce9e00b811249f8c945c83bf5c84eaea57f1c78aa87834d5dde412e67f669ce67f32fd
+ source = v20.0.0~1.patch::https://lore.kernel.org/lkml/20210205150244.542628-2-almaz.alexandrovich@paragon-software.com/raw
+ source = v20.0.0~2.patch::https://lore.kernel.org/lkml/20210205150244.542628-3-almaz.alexandrovich@paragon-software.com/raw
+ source = v20.0.0~3.patch::https://lore.kernel.org/lkml/20210205150244.542628-4-almaz.alexandrovich@paragon-software.com/raw
+ source = v20.0.0~4.patch::https://lore.kernel.org/lkml/20210205150244.542628-5-almaz.alexandrovich@paragon-software.com/raw
+ source = v20.0.0~5.patch::https://lore.kernel.org/lkml/20210205150244.542628-6-almaz.alexandrovich@paragon-software.com/raw
+ source = v20.0.0~6.patch::https://lore.kernel.org/lkml/20210205150244.542628-7-almaz.alexandrovich@paragon-software.com/raw
+ source = v20.0.0~7.patch::https://lore.kernel.org/lkml/20210205150244.542628-8-almaz.alexandrovich@paragon-software.com/raw
+ source = v20.0.0~8.patch::https://lore.kernel.org/lkml/20210205150244.542628-9-almaz.alexandrovich@paragon-software.com/raw
+ source = v20_fix.patch
+ sha512sums = 55523ce0d3c3790c33fbe73bd396e5e5f1d015608303e497202a232f51af9bb172003cc836880a7fa85163947609281754606067e5e0df79e9630cd6d1821b96
+ sha512sums = 88e9cf87ab809df7753012b0e285beaa902930a02c4140573967289ea34ae5603159a116cafd5a6bda2e29987d146ed32dc19d831ba44b1db8ca23fc2f3d8f12
+ sha512sums = 3abe2a46b4099e50664914a1f743594c1e591a903ed21bd988e615de0a458d53abfb4d4f49064b7838f75f3e335594f5771f79779a0e656855463eb8d434845b
+ sha512sums = 96a05006a7bded3e1ba122c8a4916eb0326d83d6820642f433676fc08063340d9799d69b71a20717bb5032750b909c7e2ad9468a09b85aea8774f3f493a1fdc5
+ sha512sums = 862a8ed7e7c68027eff42d40b4698a3f984e5f5d90a70623b2e83488dc37bb90c38babfe108a73d46baea2b0a7cc63a643d60f48d1b48afa17aaaaa9ddef5a75
+ sha512sums = 725bb2673d1a61463aff61cc1d8fcaac3888b3177e7af75bed464974da0cfa07383628ce863bb214e9c48969f0d978cbbd845dcfbc971ef850f08af3eb3eb740
+ sha512sums = d2366ffa6108c78a4579a8dbc55cea27006fcdb0a8c60638b7e0d4b78067f4b1450c69030dfdf6daf077b3e827bf052f0fc63aa02a963cd1e6b9914972abe143
+ sha512sums = eb420dc335e8b522bfcf037c4eb608da254e570d4d41ea6b688eed6b7ff4e4df560d573d31c51b587139dd82f0b9bce538a964ee6e3431aea78e2b5beb9d03fc
+ sha512sums = 0b4d47b79c6884f657b974700e4709f9527bfdd60b931e10b3402fcea514107a82fcfe81c1a0dcb7e64247b3661ecaa1868e4c1fe1c7f0f0564d591d612085f4
+ sha512sums = fae49f1a1ae6bcdb56337f43b78467c282a4a7405be75821b8ac41740595cf4b1af091cae59ba26aa6118448d6710494aca7d13a31260316042e49c693e687c3
+ sha512sums = a799437ebe798fa88d667ddb086f4c752a41cac7aa5e70bd5f1d718c923272eaff7b59deaeac6794f801dc99bcb4f1c6bacbc8e59539c1e7e8180acf4f0a43dd
pkgname = ntfs3-dkms
diff --git a/.gitignore b/.gitignore
index b3cbbe70357b..0eff51af59cb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,5 @@ pkg/
src/
*.patch
!Makefile.patch
+!v20_fix.patch
*.pkg.tar.* \ No newline at end of file
diff --git a/Makefile.patch b/Makefile.patch
index 2d0e2ef40108..8eb58c907e67 100644
--- a/Makefile.patch
+++ b/Makefile.patch
@@ -1,7 +1,7 @@
--- Makefile
+++ Makefile
-@@ -29,4 +29,13 @@ ntfs3-$(CONFIG_NTFS3_LZX_XPRESS) += $(addprefix lib/,\
- lzx_common.o \
+@@ -28,4 +28,13 @@
+ decompress_common.o \
lzx_decompress.o \
xpress_decompress.o \
- )
diff --git a/PKGBUILD b/PKGBUILD
index 7bc3e0581d24..fd8945cb6d7b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,5 +1,5 @@
pkgname=ntfs3-dkms
-pkgver=19.0.0
+pkgver=20.0.0
pkgrel=1
pkgdesc="NTFS read-write driver GPL implementation by Paragon Software. Current version works with NTFS (including v3.1), normal/compressed/sparse files and supports journal replaying."
arch=('any')
@@ -9,24 +9,26 @@ depends=('dkms')
options=('!strip')
source=(Makefile.patch
dkms.conf
- "v$pkgver~1.patch::https://lore.kernel.org/lkml/20210128090455.3576502-2-almaz.alexandrovich@paragon-software.com/raw"
- "v$pkgver~2.patch::https://lore.kernel.org/lkml/20210128090455.3576502-3-almaz.alexandrovich@paragon-software.com/raw"
- "v$pkgver~3.patch::https://lore.kernel.org/lkml/20210128090455.3576502-4-almaz.alexandrovich@paragon-software.com/raw"
- "v$pkgver~4.patch::https://lore.kernel.org/lkml/20210128090455.3576502-5-almaz.alexandrovich@paragon-software.com/raw"
- "v$pkgver~5.patch::https://lore.kernel.org/lkml/20210128090455.3576502-6-almaz.alexandrovich@paragon-software.com/raw"
- "v$pkgver~6.patch::https://lore.kernel.org/lkml/20210128090455.3576502-7-almaz.alexandrovich@paragon-software.com/raw"
- "v$pkgver~7.patch::https://lore.kernel.org/lkml/20210128090455.3576502-8-almaz.alexandrovich@paragon-software.com/raw"
- "v$pkgver~8.patch::https://lore.kernel.org/lkml/20210128090455.3576502-9-almaz.alexandrovich@paragon-software.com/raw")
-sha512sums=('3d47cccc7914b42dbcc670bcb9144f948a42d0ba57843140373afec0483570597b4b4ad61753742b282626f50aec25cabbeb88aadc94d2cb67ec1c612b6ed41d'
- 'f98f7ebeba0e3aa0555801b05d7d8e54139ae4b9c4443c67475c17fd1cde91126f1a275ab5ad7ea48a8161fb3a210986237da1fa1c9dfd315cf108ebdc645633'
- '5d084ca098eb0753ec325a04b02f0c92a6c8e25c2e590539868e56dae1185327aa232300e3ad382ea5a5a9a6a044b827762891d394745774e553e82cf0ef8099'
- '9949726ea2e0ec98ccfae30aeb99f801245d0912269498a9c4ebc1fa8cf0ed205d7518cb5626aead41c64578131559cf6c7195cca104184dc1c658fae3be0180'
- '2268105de76feebb684e42d5a1885ca53cbd308d8ddc5d749126339218fb39f7867a36624af240e2c7ec6d3fda049c5e947815ae262f2c083c1ae6c6beb9bbe1'
- 'fddbda4c4a3d858f6740673c69613eacc4fca51ad564770588a363f2f09f2225a000f1507fca9f5dda723f4250438e9c3b6373fb2e98c0cf0ba197e9b4ef2c99'
- 'c77ba7eb033286963569ab32a457ff613b6244eafb08c4ab9c5a8945ff058caccd5af65885c34a7caa82b09821edc9b6ed562c7def19f1bce2f5369fa5b6d2ff'
- 'a78ef11cef86d563148669bab42b2bf8ac756c9de0a796dacc36810fc8f19484f74ae8c91ec063188b219d7201bee8bd98258f3b1341f93210a361d06212c149'
- 'fcf2d17aeb22c00b3886150f970e2adf61a4cc00efe6185ac935164a32ad69c95a0be6d03152b3f3de58e3a701d8c25c7c3d340fc56c19d1995eb5df1041a8a3'
- 'b894ee23f7722e2515048dadbd07605a6cf93fbe9194891b0038374c4bce9e00b811249f8c945c83bf5c84eaea57f1c78aa87834d5dde412e67f669ce67f32fd')
+ "v$pkgver~1.patch::https://lore.kernel.org/lkml/20210205150244.542628-2-almaz.alexandrovich@paragon-software.com/raw"
+ "v$pkgver~2.patch::https://lore.kernel.org/lkml/20210205150244.542628-3-almaz.alexandrovich@paragon-software.com/raw"
+ "v$pkgver~3.patch::https://lore.kernel.org/lkml/20210205150244.542628-4-almaz.alexandrovich@paragon-software.com/raw"
+ "v$pkgver~4.patch::https://lore.kernel.org/lkml/20210205150244.542628-5-almaz.alexandrovich@paragon-software.com/raw"
+ "v$pkgver~5.patch::https://lore.kernel.org/lkml/20210205150244.542628-6-almaz.alexandrovich@paragon-software.com/raw"
+ "v$pkgver~6.patch::https://lore.kernel.org/lkml/20210205150244.542628-7-almaz.alexandrovich@paragon-software.com/raw"
+ "v$pkgver~7.patch::https://lore.kernel.org/lkml/20210205150244.542628-8-almaz.alexandrovich@paragon-software.com/raw"
+ "v$pkgver~8.patch::https://lore.kernel.org/lkml/20210205150244.542628-9-almaz.alexandrovich@paragon-software.com/raw"
+ v20_fix.patch)
+sha512sums=('55523ce0d3c3790c33fbe73bd396e5e5f1d015608303e497202a232f51af9bb172003cc836880a7fa85163947609281754606067e5e0df79e9630cd6d1821b96'
+ '88e9cf87ab809df7753012b0e285beaa902930a02c4140573967289ea34ae5603159a116cafd5a6bda2e29987d146ed32dc19d831ba44b1db8ca23fc2f3d8f12'
+ '3abe2a46b4099e50664914a1f743594c1e591a903ed21bd988e615de0a458d53abfb4d4f49064b7838f75f3e335594f5771f79779a0e656855463eb8d434845b'
+ '96a05006a7bded3e1ba122c8a4916eb0326d83d6820642f433676fc08063340d9799d69b71a20717bb5032750b909c7e2ad9468a09b85aea8774f3f493a1fdc5'
+ '862a8ed7e7c68027eff42d40b4698a3f984e5f5d90a70623b2e83488dc37bb90c38babfe108a73d46baea2b0a7cc63a643d60f48d1b48afa17aaaaa9ddef5a75'
+ '725bb2673d1a61463aff61cc1d8fcaac3888b3177e7af75bed464974da0cfa07383628ce863bb214e9c48969f0d978cbbd845dcfbc971ef850f08af3eb3eb740'
+ 'd2366ffa6108c78a4579a8dbc55cea27006fcdb0a8c60638b7e0d4b78067f4b1450c69030dfdf6daf077b3e827bf052f0fc63aa02a963cd1e6b9914972abe143'
+ 'eb420dc335e8b522bfcf037c4eb608da254e570d4d41ea6b688eed6b7ff4e4df560d573d31c51b587139dd82f0b9bce538a964ee6e3431aea78e2b5beb9d03fc'
+ '0b4d47b79c6884f657b974700e4709f9527bfdd60b931e10b3402fcea514107a82fcfe81c1a0dcb7e64247b3661ecaa1868e4c1fe1c7f0f0564d591d612085f4'
+ 'fae49f1a1ae6bcdb56337f43b78467c282a4a7405be75821b8ac41740595cf4b1af091cae59ba26aa6118448d6710494aca7d13a31260316042e49c693e687c3'
+ 'a799437ebe798fa88d667ddb086f4c752a41cac7aa5e70bd5f1d718c923272eaff7b59deaeac6794f801dc99bcb4f1c6bacbc8e59539c1e7e8180acf4f0a43dd')
prepare() {
@@ -36,6 +38,7 @@ prepare() {
do
patch -p3 -N -i "$patch"
done
+ patch -p3 -N -i "$srcdir/v20_fix.patch"
patch -p0 -N -i "$srcdir/Makefile.patch"
}
diff --git a/dkms.conf b/dkms.conf
index 4d872f38f6e0..5fa65048dd92 100644
--- a/dkms.conf
+++ b/dkms.conf
@@ -1,5 +1,5 @@
PACKAGE_NAME="ntfs3"
-PACKAGE_VERSION="19.0.0"
+PACKAGE_VERSION="20.0.0"
BUILT_MODULE_NAME[0]="ntfs3"
DEST_MODULE_LOCATION[0]="/kernel/fs/ntfs3"
AUTOINSTALL="yes"
diff --git a/v20_fix.patch b/v20_fix.patch
new file mode 100644
index 000000000000..0ac14fc06acf
--- /dev/null
+++ b/v20_fix.patch
@@ -0,0 +1,466 @@
+diff --git a/fs/ntfs3/file.c b/fs/ntfs3/file.c
+index 5ce203212c8c..04caa200a37f 100644
+--- a/fs/ntfs3/file.c
++++ b/fs/ntfs3/file.c
+@@ -76,8 +76,8 @@ static long ntfs_compat_ioctl(struct file *filp, u32 cmd, unsigned long arg)
+ /*
+ * inode_operations::getattr
+ */
+-int ntfs_getattr(struct user_namespace *mnt_userns, const struct path *path,
+- struct kstat *stat, u32 request_mask, u32 flags)
++int ntfs_getattr(const struct path *path, struct kstat *stat, u32 request_mask,
++ u32 flags)
+ {
+ struct inode *inode = d_inode(path->dentry);
+ struct ntfs_inode *ni = ntfs_i(inode);
+@@ -90,7 +90,7 @@ int ntfs_getattr(struct user_namespace *mnt_userns, const struct path *path,
+
+ stat->attributes_mask |= STATX_ATTR_COMPRESSED | STATX_ATTR_ENCRYPTED;
+
+- generic_fillattr(mnt_userns, inode, stat);
++ generic_fillattr(inode, stat);
+
+ stat->result_mask |= STATX_BTIME;
+ stat->btime = ni->i_crtime;
+@@ -617,8 +617,7 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t vbo, loff_t len)
+ /*
+ * inode_operations::setattr
+ */
+-int ntfs3_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
+- struct iattr *attr)
++int ntfs3_setattr(struct dentry *dentry, struct iattr *attr)
+ {
+ struct super_block *sb = dentry->d_sb;
+ struct ntfs_sb_info *sbi = sb->s_fs_info;
+@@ -636,7 +635,7 @@ int ntfs3_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
+ ia_valid = attr->ia_valid;
+ }
+
+- err = setattr_prepare(mnt_userns, dentry, attr);
++ err = setattr_prepare(dentry, attr);
+ if (err)
+ goto out;
+
+@@ -661,10 +660,10 @@ int ntfs3_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
+ ni->ni_flags |= NI_FLAG_UPDATE_PARENT;
+ }
+
+- setattr_copy(mnt_userns, inode, attr);
++ setattr_copy(inode, attr);
+
+ if (mode != inode->i_mode) {
+- err = ntfs_acl_chmod(mnt_userns, inode);
++ err = ntfs_acl_chmod(inode);
+ if (err)
+ goto out;
+
+diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c
+index bf400a2af0cd..9b07738d48a1 100644
+--- a/fs/ntfs3/inode.c
++++ b/fs/ntfs3/inode.c
+@@ -1175,10 +1175,10 @@ ntfs_create_reparse_buffer(struct ntfs_sb_info *sbi, const char *symname,
+ return ERR_PTR(err);
+ }
+
+-int ntfs_create_inode(struct user_namespace *mnt_userns, struct inode *dir,
+- struct dentry *dentry, const struct cpu_str *uni,
+- umode_t mode, dev_t dev, const char *symname, u32 size,
+- int excl, struct ntfs_fnd *fnd, struct inode **new_inode)
++int ntfs_create_inode(struct inode *dir, struct dentry *dentry,
++ const struct cpu_str *uni, umode_t mode, dev_t dev,
++ const char *symname, u32 size, int excl,
++ struct ntfs_fnd *fnd, struct inode **new_inode)
+ {
+ int err;
+ struct super_block *sb = dir->i_sb;
+@@ -1584,7 +1584,7 @@ int ntfs_create_inode(struct user_namespace *mnt_userns, struct inode *dir,
+
+ #ifdef CONFIG_NTFS3_FS_POSIX_ACL
+ if (!is_link && (sb->s_flags & SB_POSIXACL)) {
+- err = ntfs_init_acl(mnt_userns, inode, dir);
++ err = ntfs_init_acl(inode, dir);
+ if (err)
+ goto out6;
+ } else
+diff --git a/fs/ntfs3/namei.c b/fs/ntfs3/namei.c
+index f943b354b08e..e53cfc0f123d 100644
+--- a/fs/ntfs3/namei.c
++++ b/fs/ntfs3/namei.c
+@@ -102,8 +102,8 @@ static struct dentry *ntfs_lookup(struct inode *dir, struct dentry *dentry,
+ *
+ * inode_operations::create
+ */
+-static int ntfs_create(struct user_namespace *mnt_userns, struct inode *dir,
+- struct dentry *dentry, umode_t mode, bool excl)
++static int ntfs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
++ bool excl)
+ {
+ int err;
+ struct ntfs_inode *ni = ntfs_i(dir);
+@@ -111,8 +111,8 @@ static int ntfs_create(struct user_namespace *mnt_userns, struct inode *dir,
+
+ ni_lock_dir(ni);
+
+- err = ntfs_create_inode(mnt_userns, dir, dentry, NULL, S_IFREG | mode,
+- 0, NULL, 0, excl, NULL, &inode);
++ err = ntfs_create_inode(dir, dentry, NULL, S_IFREG | mode, 0, NULL, 0,
++ excl, NULL, &inode);
+
+ ni_unlock(ni);
+
+@@ -185,8 +185,8 @@ static int ntfs_unlink(struct inode *dir, struct dentry *dentry)
+ *
+ * inode_operations::symlink
+ */
+-static int ntfs_symlink(struct user_namespace *mnt_userns, struct inode *dir,
+- struct dentry *dentry, const char *symname)
++static int ntfs_symlink(struct inode *dir, struct dentry *dentry,
++ const char *symname)
+ {
+ int err;
+ u32 size = strlen(symname);
+@@ -195,8 +195,8 @@ static int ntfs_symlink(struct user_namespace *mnt_userns, struct inode *dir,
+
+ ni_lock_dir(ni);
+
+- err = ntfs_create_inode(mnt_userns, dir, dentry, NULL, S_IFLNK | 0777,
+- 0, symname, size, 0, NULL, &inode);
++ err = ntfs_create_inode(dir, dentry, NULL, S_IFLNK | 0777, 0, symname,
++ size, 0, NULL, &inode);
+
+ ni_unlock(ni);
+
+@@ -208,8 +208,7 @@ static int ntfs_symlink(struct user_namespace *mnt_userns, struct inode *dir,
+ *
+ * inode_operations::mkdir
+ */
+-static int ntfs_mkdir(struct user_namespace *mnt_userns, struct inode *dir,
+- struct dentry *dentry, umode_t mode)
++static int ntfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
+ {
+ int err;
+ struct inode *inode;
+@@ -217,8 +216,8 @@ static int ntfs_mkdir(struct user_namespace *mnt_userns, struct inode *dir,
+
+ ni_lock_dir(ni);
+
+- err = ntfs_create_inode(mnt_userns, dir, dentry, NULL, S_IFDIR | mode,
+- 0, NULL, -1, 0, NULL, &inode);
++ err = ntfs_create_inode(dir, dentry, NULL, S_IFDIR | mode, 0, NULL, -1,
++ 0, NULL, &inode);
+
+ ni_unlock(ni);
+
+@@ -249,9 +248,9 @@ static int ntfs_rmdir(struct inode *dir, struct dentry *dentry)
+ *
+ * inode_operations::rename
+ */
+-static int ntfs_rename(struct user_namespace *mnt_userns, struct inode *old_dir,
+- struct dentry *old_dentry, struct inode *new_dir,
+- struct dentry *new_dentry, u32 flags)
++static int ntfs_rename(struct inode *old_dir, struct dentry *old_dentry,
++ struct inode *new_dir, struct dentry *new_dentry,
++ u32 flags)
+ {
+ int err;
+ struct super_block *sb = old_dir->i_sb;
+@@ -533,9 +532,8 @@ static int ntfs_atomic_open(struct inode *dir, struct dentry *dentry,
+ file->f_mode |= FMODE_CREATED;
+
+ /*fnd contains tree's path to insert to*/
+- /* TODO: init_user_ns? */
+- err = ntfs_create_inode(&init_user_ns, dir, dentry, uni, mode, 0, NULL,
+- 0, excl, fnd, &inode);
++ err = ntfs_create_inode(dir, dentry, uni, mode, 0, NULL, 0, excl, fnd,
++ &inode);
+ if (!err)
+ err = finish_open(file, dentry, ntfs_file_open);
+ dput(d);
+diff --git a/fs/ntfs3/ntfs_fs.h b/fs/ntfs3/ntfs_fs.h
+index 49c1a1ea7e39..c6a42de17d33 100644
+--- a/fs/ntfs3/ntfs_fs.h
++++ b/fs/ntfs3/ntfs_fs.h
+@@ -453,12 +453,11 @@ bool dir_is_empty(struct inode *dir);
+ extern const struct file_operations ntfs_dir_operations;
+
+ /* globals from file.c*/
+-int ntfs_getattr(struct user_namespace *mnt_userns, const struct path *path,
+- struct kstat *stat, u32 request_mask, u32 flags);
++int ntfs_getattr(const struct path *path, struct kstat *stat, u32 request_mask,
++ u32 flags);
+ void ntfs_sparse_cluster(struct inode *inode, struct page *page0, CLST vcn,
+ CLST len);
+-int ntfs3_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
+- struct iattr *attr);
++int ntfs3_setattr(struct dentry *dentry, struct iattr *attr);
+ int ntfs_file_open(struct inode *inode, struct file *file);
+ int ntfs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
+ __u64 start, __u64 len);
+@@ -644,10 +643,10 @@ int ntfs_sync_inode(struct inode *inode);
+ int ntfs_flush_inodes(struct super_block *sb, struct inode *i1,
+ struct inode *i2);
+ int inode_write_data(struct inode *inode, const void *data, size_t bytes);
+-int ntfs_create_inode(struct user_namespace *mnt_userns, struct inode *dir,
+- struct dentry *dentry, const struct cpu_str *uni,
+- umode_t mode, dev_t dev, const char *symname, u32 size,
+- int excl, struct ntfs_fnd *fnd, struct inode **new_inode);
++int ntfs_create_inode(struct inode *dir, struct dentry *dentry,
++ const struct cpu_str *uni, umode_t mode, dev_t dev,
++ const char *symname, u32 size, int excl,
++ struct ntfs_fnd *fnd, struct inode **new_inode);
+ int ntfs_link_inode(struct inode *inode, struct dentry *dentry);
+ int ntfs_unlink_inode(struct inode *dir, const struct dentry *dentry);
+ void ntfs_evict_inode(struct inode *inode);
+@@ -770,18 +769,15 @@ int ntfs_cmp_names_cpu(const struct cpu_str *uni1, const struct le_str *uni2,
+ /* globals from xattr.c */
+ #ifdef CONFIG_NTFS3_FS_POSIX_ACL
+ struct posix_acl *ntfs_get_acl(struct inode *inode, int type);
+-int ntfs_set_acl(struct user_namespace *mnt_userns, struct inode *inode,
+- struct posix_acl *acl, int type);
+-int ntfs_init_acl(struct user_namespace *mnt_userns, struct inode *inode,
+- struct inode *dir);
++int ntfs_set_acl(struct inode *inode, struct posix_acl *acl, int type);
++int ntfs_init_acl(struct inode *inode, struct inode *dir);
+ #else
+ #define ntfs_get_acl NULL
+ #define ntfs_set_acl NULL
+ #endif
+
+-int ntfs_acl_chmod(struct user_namespace *mnt_userns, struct inode *inode);
+-int ntfs_permission(struct user_namespace *mnt_userns, struct inode *inode,
+- int mask);
++int ntfs_acl_chmod(struct inode *inode);
++int ntfs_permission(struct inode *inode, int mask);
+ ssize_t ntfs_listxattr(struct dentry *dentry, char *buffer, size_t size);
+ extern const struct xattr_handler *ntfs_xattr_handlers[];
+
+diff --git a/fs/ntfs3/super.c b/fs/ntfs3/super.c
+index cf09da61d4bd..f7bc59f72a0b 100644
+--- a/fs/ntfs3/super.c
++++ b/fs/ntfs3/super.c
+@@ -544,14 +544,13 @@ static int ntfs_show_options(struct seq_file *m, struct dentry *root)
+ struct super_block *sb = root->d_sb;
+ struct ntfs_sb_info *sbi = sb->s_fs_info;
+ struct ntfs_mount_options *opts = &sbi->options;
+- struct user_namespace *user_ns = seq_user_ns(m);
+
+ if (opts->uid)
+ seq_printf(m, ",uid=%u",
+- from_kuid_munged(user_ns, opts->fs_uid));
++ from_kuid_munged(&init_user_ns, opts->fs_uid));
+ if (opts->gid)
+ seq_printf(m, ",gid=%u",
+- from_kgid_munged(user_ns, opts->fs_gid));
++ from_kgid_munged(&init_user_ns, opts->fs_gid));
+ if (opts->fmask)
+ seq_printf(m, ",fmask=%04o", ~opts->fs_fmask_inv);
+ if (opts->dmask)
+diff --git a/fs/ntfs3/xattr.c b/fs/ntfs3/xattr.c
+index 41d01674fbff..3b9946ea0220 100644
+--- a/fs/ntfs3/xattr.c
++++ b/fs/ntfs3/xattr.c
+@@ -479,8 +479,7 @@ static inline void ntfs_posix_acl_release(struct posix_acl *acl)
+ kfree(acl);
+ }
+
+-static struct posix_acl *ntfs_get_acl_ex(struct user_namespace *mnt_userns,
+- struct inode *inode, int type,
++static struct posix_acl *ntfs_get_acl_ex(struct inode *inode, int type,
+ int locked)
+ {
+ struct ntfs_inode *ni = ntfs_i(inode);
+@@ -509,7 +508,7 @@ static struct posix_acl *ntfs_get_acl_ex(struct user_namespace *mnt_userns,
+
+ /* Translate extended attribute to acl */
+ if (err > 0) {
+- acl = posix_acl_from_xattr(mnt_userns, buf, err);
++ acl = posix_acl_from_xattr(&init_user_ns, buf, err);
+ if (!IS_ERR(acl))
+ set_cached_acl(inode, type, acl);
+ } else {
+@@ -528,12 +527,10 @@ static struct posix_acl *ntfs_get_acl_ex(struct user_namespace *mnt_userns,
+ */
+ struct posix_acl *ntfs_get_acl(struct inode *inode, int type)
+ {
+- /* TODO: init_user_ns? */
+- return ntfs_get_acl_ex(&init_user_ns, inode, type, 0);
++ return ntfs_get_acl_ex(inode, type, 0);
+ }
+
+-static noinline int ntfs_set_acl_ex(struct user_namespace *mnt_userns,
+- struct inode *inode, struct posix_acl *acl,
++static noinline int ntfs_set_acl_ex(struct inode *inode, struct posix_acl *acl,
+ int type, int locked)
+ {
+ const char *name;
+@@ -588,7 +585,7 @@ static noinline int ntfs_set_acl_ex(struct user_namespace *mnt_userns,
+ if (!value)
+ return -ENOMEM;
+
+- err = posix_acl_to_xattr(mnt_userns, acl, value, size);
++ err = posix_acl_to_xattr(&init_user_ns, acl, value, size);
+ if (err)
+ goto out;
+
+@@ -612,14 +609,12 @@ static noinline int ntfs_set_acl_ex(struct user_namespace *mnt_userns,
+ *
+ * inode_operations::set_acl
+ */
+-int ntfs_set_acl(struct user_namespace *mnt_userns, struct inode *inode,
+- struct posix_acl *acl, int type)
++int ntfs_set_acl(struct inode *inode, struct posix_acl *acl, int type)
+ {
+- return ntfs_set_acl_ex(mnt_userns, inode, acl, type, 0);
++ return ntfs_set_acl_ex(inode, acl, type, 0);
+ }
+
+-static int ntfs_xattr_get_acl(struct user_namespace *mnt_userns,
+- struct inode *inode, int type, void *buffer,
++static int ntfs_xattr_get_acl(struct inode *inode, int type, void *buffer,
+ size_t size)
+ {
+ struct super_block *sb = inode->i_sb;
+@@ -636,14 +631,13 @@ static int ntfs_xattr_get_acl(struct user_namespace *mnt_userns,
+ if (!acl)
+ return -ENODATA;
+
+- err = posix_acl_to_xattr(mnt_userns, acl, buffer, size);
++ err = posix_acl_to_xattr(&init_user_ns, acl, buffer, size);
+ ntfs_posix_acl_release(acl);
+
+ return err;
+ }
+
+-static int ntfs_xattr_set_acl(struct user_namespace *mnt_userns,
+- struct inode *inode, int type, const void *value,
++static int ntfs_xattr_set_acl(struct inode *inode, int type, const void *value,
+ size_t size)
+ {
+ struct super_block *sb = inode->i_sb;
+@@ -653,13 +647,13 @@ static int ntfs_xattr_set_acl(struct user_namespace *mnt_userns,
+ if (!(sb->s_flags & SB_POSIXACL))
+ return -EOPNOTSUPP;
+
+- if (!inode_owner_or_capable(mnt_userns, inode))
++ if (!inode_owner_or_capable(inode))
+ return -EPERM;
+
+ if (!value)
+ return 0;
+
+- acl = posix_acl_from_xattr(mnt_userns, value, size);
++ acl = posix_acl_from_xattr(&init_user_ns, value, size);
+ if (IS_ERR(acl))
+ return PTR_ERR(acl);
+
+@@ -669,7 +663,7 @@ static int ntfs_xattr_set_acl(struct user_namespace *mnt_userns,
+ goto release_and_out;
+ }
+
+- err = ntfs_set_acl(mnt_userns, inode, acl, type);
++ err = ntfs_set_acl(inode, acl, type);
+
+ release_and_out:
+ ntfs_posix_acl_release(acl);
+@@ -679,8 +673,7 @@ static int ntfs_xattr_set_acl(struct user_namespace *mnt_userns,
+ /*
+ * Initialize the ACLs of a new inode. Called from ntfs_create_inode.
+ */
+-int ntfs_init_acl(struct user_namespace *mnt_userns, struct inode *inode,
+- struct inode *dir)
++int ntfs_init_acl(struct inode *inode, struct inode *dir)
+ {
+ struct posix_acl *default_acl, *acl;
+ int err;
+@@ -691,7 +684,7 @@ int ntfs_init_acl(struct user_namespace *mnt_userns, struct inode *inode,
+ */
+ inode->i_default_acl = NULL;
+
+- default_acl = ntfs_get_acl_ex(mnt_userns, dir, ACL_TYPE_DEFAULT, 1);
++ default_acl = ntfs_get_acl_ex(dir, ACL_TYPE_DEFAULT, 1);
+
+ if (!default_acl || default_acl == ERR_PTR(-EOPNOTSUPP)) {
+ inode->i_mode &= ~current_umask();
+@@ -719,14 +712,12 @@ int ntfs_init_acl(struct user_namespace *mnt_userns, struct inode *inode,
+ }
+
+ if (default_acl)
+- err = ntfs_set_acl_ex(mnt_userns, inode, default_acl,
+- ACL_TYPE_DEFAULT, 1);
++ err = ntfs_set_acl_ex(inode, default_acl, ACL_TYPE_DEFAULT, 1);
+
+ if (!acl)
+ inode->i_acl = NULL;
+ else if (!err)
+- err = ntfs_set_acl_ex(mnt_userns, inode, acl, ACL_TYPE_ACCESS,
+- 1);
++ err = ntfs_set_acl_ex(inode, acl, ACL_TYPE_ACCESS, 1);
+
+ posix_acl_release(acl);
+ out1:
+@@ -742,7 +733,7 @@ int ntfs_init_acl(struct user_namespace *mnt_userns, struct inode *inode,
+ *
+ * helper for 'ntfs3_setattr'
+ */
+-int ntfs_acl_chmod(struct user_namespace *mnt_userns, struct inode *inode)
++int ntfs_acl_chmod(struct inode *inode)
+ {
+ struct super_block *sb = inode->i_sb;
+
+@@ -752,7 +743,7 @@ int ntfs_acl_chmod(struct user_namespace *mnt_userns, struct inode *inode)
+ if (S_ISLNK(inode->i_mode))
+ return -EOPNOTSUPP;
+
+- return posix_acl_chmod(mnt_userns, inode, inode->i_mode);
++ return posix_acl_chmod(inode, inode->i_mode);
+ }
+
+ /*
+@@ -760,15 +751,14 @@ int ntfs_acl_chmod(struct user_namespace *mnt_userns, struct inode *inode)
+ *
+ * inode_operations::permission
+ */
+-int ntfs_permission(struct user_namespace *mnt_userns, struct inode *inode,
+- int mask)
++int ntfs_permission(struct inode *inode, int mask)
+ {
+ if (ntfs_sb(inode->i_sb)->options.no_acs_rules) {
+ /* "no access rules" mode - allow all changes */
+ return 0;
+ }
+
+- return generic_permission(mnt_userns, inode, mask);
++ return generic_permission(inode, mask);
+ }
+
+ /*
+@@ -900,9 +890,8 @@ static int ntfs_getxattr(const struct xattr_handler *handler, struct dentry *de,
+ (name_len == sizeof(XATTR_NAME_POSIX_ACL_DEFAULT) - 1 &&
+ !memcmp(name, XATTR_NAME_POSIX_ACL_DEFAULT,
+ sizeof(XATTR_NAME_POSIX_ACL_DEFAULT)))) {
+- /* TODO: init_user_ns? */
+ err = ntfs_xattr_get_acl(
+- &init_user_ns, inode,
++ inode,
+ name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 ?
+ ACL_TYPE_ACCESS :
+ ACL_TYPE_DEFAULT,
+@@ -923,7 +912,6 @@ static int ntfs_getxattr(const struct xattr_handler *handler, struct dentry *de,
+ * inode_operations::setxattr
+ */
+ static noinline int ntfs_setxattr(const struct xattr_handler *handler,
+- struct user_namespace *mnt_userns,
+ struct dentry *de, struct inode *inode,
+ const char *name, const void *value,
+ size_t size, int flags)
+@@ -1050,9 +1038,8 @@ static noinline int ntfs_setxattr(const struct xattr_handler *handler,
+ (name_len == sizeof(XATTR_NAME_POSIX_ACL_DEFAULT) - 1 &&
+ !memcmp(name, XATTR_NAME_POSIX_ACL_DEFAULT,
+ sizeof(XATTR_NAME_POSIX_ACL_DEFAULT)))) {
+- /* TODO: init_user_ns? */
+ err = ntfs_xattr_set_acl(
+- &init_user_ns, inode,
++ inode,
+ name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 ?
+ ACL_TYPE_ACCESS :
+ ACL_TYPE_DEFAULT,