diff --git a/.SRCINFO b/.SRCINFO index 08b5e6f345aa..c851d4c1010f 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = ntfsplus-dkms-git pkgdesc = A new NTFS driver for Linux promised to be better than NTFS3. These patches are directly taken from the maintainer's mailing list posts. Backported to 6.12. - pkgver = 2025.10.24.r8.cdb5126be + pkgver = 2025.10.24.r8.d43516bfa pkgrel = 1 url = https://github.com/shadichy/ntfsplus-dkms arch = any @@ -22,11 +22,11 @@ pkgbase = ntfsplus-dkms-git source = 90-udev-prefer-ntfsplus.rules sha256sums = SKIP sha256sums = 0eb24ef10bcfe46dbb56a8e8fe111b30e0969c0ff19b64b802939929773e616f - sha256sums = 7a9305d0b4c874878d527ec7b8ed4dd61c8f973d3064eee80b6cc54375ef7515 - sha256sums = 105a4a70c4aae4cfa65a677139a5b737b902d5be27ea246fdc04149198360f18 - sha256sums = c56243dedd1cb4155b03ef824725658ef22e5227c39bac3551ffa8bae676d090 + sha256sums = 0f29c25ba2587b1a6ae4b10517455f204ab1b46a643abe6f0e94a470047d363e + sha256sums = b1faf8a991a2188795cb048fbc9b5bd2e475b71d8cc879efcc1ab73c666ab4e3 + sha256sums = 3e89e804ce6babcb23c55698a7d1a9adea1872ed30c1a548bdd3b9b6167e66a5 sha256sums = 1e97bca1a60febbe56eee2a30ff37f71ff6b2341fc6f1f89d3c920e896f20c32 - sha256sums = c16bbd7aefc178c8d6e6fda8761589145475dd6205266820a7a8d95d88dc9dec + sha256sums = a8fbbc296fe31cad8d0dd6b17714d915b350bc0668b610345c9e33952cd6da9d sha256sums = dd75e9962be5563921101a7b5d2b852ae04cda9301ffb11c6ea574046f9f9474 sha256sums = e217fa145f507b1e07e228e746528554f705f44fd5744f293b302b29df764b96 sha256sums = ed9db8ec0caa09c977529c7ae89b808ee8c238331ec0fdf873525c115fcdfb7c diff --git a/0002-ntfsplus-Resolve-iomap_-arguments-temporarily-for-ke.patch b/0002-ntfsplus-Resolve-iomap_-arguments-temporarily-for-ke.patch index 19321f0e3a5e..9b9e58c6762e 100644 --- a/0002-ntfsplus-Resolve-iomap_-arguments-temporarily-for-ke.patch +++ b/0002-ntfsplus-Resolve-iomap_-arguments-temporarily-for-ke.patch @@ -1,14 +1,15 @@ -From 5ef66cd78fe6dda6bdcaa5c954f16b3b15a28bd1 Mon Sep 17 00:00:00 2001 +From b1383d4ca6c8a5c6ab82e577911c82463aaef61e Mon Sep 17 00:00:00 2001 From: shadichy -Date: Fri, 24 Oct 2025 01:48:52 +0700 +Date: Thu, 6 Nov 2025 16:39:19 +0700 Subject: [PATCH 2/7] ntfsplus: Resolve iomap_* arguments (temporarily) for kernel older than 6.17 --- fs/ntfsplus/aops.c | 9 +++++++++ - fs/ntfsplus/file.c | 35 ++++++++++++++++++++++++++++------- - fs/ntfsplus/inode.c | 5 ++++- - 3 files changed, 41 insertions(+), 8 deletions(-) + fs/ntfsplus/file.c | 14 +++++++------- + fs/ntfsplus/inode.c | 2 +- + fs/ntfsplus/inode.h | 13 +++++++++++++ + 4 files changed, 30 insertions(+), 8 deletions(-) diff --git a/fs/ntfsplus/aops.c b/fs/ntfsplus/aops.c index 50c804be3..b90b40aa8 100644 @@ -42,109 +43,107 @@ index 50c804be3..b90b40aa8 100644 static int ntfs_swap_activate(struct swap_info_struct *sis, diff --git a/fs/ntfsplus/file.c b/fs/ntfsplus/file.c -index b4114017b..27c9e47d8 100644 +index b4114017b..e2e506a62 100644 --- a/fs/ntfsplus/file.c +++ b/fs/ntfsplus/file.c -@@ -293,7 +293,10 @@ int ntfs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, +@@ -291,7 +291,7 @@ int ntfs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, + /* Serialize against page faults */ + if (NInoNonResident(NTFS_I(vi)) && attr->ia_size < old_size) { - err = iomap_truncate_page(vi, attr->ia_size, NULL, +- err = iomap_truncate_page(vi, attr->ia_size, NULL, ++ err = __iomap_truncate_page(vi, attr->ia_size, NULL, &ntfs_read_iomap_ops, -- &ntfs_iomap_folio_ops, NULL); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -+ &ntfs_iomap_folio_ops, -+#endif -+ NULL); + &ntfs_iomap_folio_ops, NULL); if (err) - goto out; - } -@@ -312,7 +315,10 @@ int ntfs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, +@@ -310,7 +310,7 @@ int ntfs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, + loff_t len = min_t(loff_t, + round_up(old_size, PAGE_SIZE) - old_size, attr->ia_size - old_size); - err = iomap_zero_range(vi, old_size, len, +- err = iomap_zero_range(vi, old_size, len, ++ err = __iomap_zero_range(vi, old_size, len, NULL, &ntfs_read_iomap_ops, -- &ntfs_iomap_folio_ops, NULL); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -+ &ntfs_iomap_folio_ops, -+#endif -+ NULL); + &ntfs_iomap_folio_ops, NULL); } - } - if (ia_valid == ATTR_SIZE) -@@ -630,7 +636,10 @@ static ssize_t ntfs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) +@@ -629,7 +629,7 @@ static ssize_t ntfs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) + offset = iocb->ki_pos; iocb->ki_flags &= ~IOCB_DIRECT; - written = iomap_file_buffered_write(iocb, from, -- &ntfs_write_iomap_ops, &ntfs_iomap_folio_ops, -+ &ntfs_write_iomap_ops, -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -+ &ntfs_iomap_folio_ops, -+#endif +- written = iomap_file_buffered_write(iocb, from, ++ written = __iomap_file_buffered_write(iocb, from, + &ntfs_write_iomap_ops, &ntfs_iomap_folio_ops, NULL); if (written < 0) { - err = written; -@@ -650,7 +659,10 @@ static ssize_t ntfs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) +@@ -649,7 +649,7 @@ static ssize_t ntfs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) + end >> PAGE_SHIFT); } } else { - ret = iomap_file_buffered_write(iocb, from, &ntfs_write_iomap_ops, -- &ntfs_iomap_folio_ops, NULL); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -+ &ntfs_iomap_folio_ops, -+#endif -+ NULL); +- ret = iomap_file_buffered_write(iocb, from, &ntfs_write_iomap_ops, ++ ret = __iomap_file_buffered_write(iocb, from, &ntfs_write_iomap_ops, + &ntfs_iomap_folio_ops, NULL); } out: - if (ret < 0 && ret != -EIOCBQUEUED) { -@@ -937,7 +949,10 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t offset, loff_t le +@@ -935,7 +935,7 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t offset, loff_t le + + to = min_t(loff_t, (start_vcn + 1) << vol->cluster_size_bits, end_offset); - err = iomap_zero_range(vi, offset, to - offset, NULL, +- err = iomap_zero_range(vi, offset, to - offset, NULL, ++ err = __iomap_zero_range(vi, offset, to - offset, NULL, &ntfs_read_iomap_ops, -- &ntfs_iomap_folio_ops, NULL); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -+ &ntfs_iomap_folio_ops, -+#endif -+ NULL); + &ntfs_iomap_folio_ops, NULL); if (err < 0 || (end_vcn - start_vcn) == 1) - goto out; - start_vcn++; -@@ -948,7 +963,10 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t offset, loff_t le +@@ -946,7 +946,7 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t offset, loff_t le + loff_t from; + from = (end_vcn - 1) << vol->cluster_size_bits; - err = iomap_zero_range(vi, from, end_offset - from, NULL, +- err = iomap_zero_range(vi, from, end_offset - from, NULL, ++ err = __iomap_zero_range(vi, from, end_offset - from, NULL, &ntfs_read_iomap_ops, -- &ntfs_iomap_folio_ops, NULL); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -+ &ntfs_iomap_folio_ops, -+#endif -+ NULL); + &ntfs_iomap_folio_ops, NULL); if (err < 0 || (end_vcn - start_vcn) == 1) - goto out; - end_vcn--; -@@ -1000,7 +1018,10 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t offset, loff_t le +@@ -998,7 +998,7 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t offset, loff_t le + loff_t len = min_t(loff_t, + round_up(old_size, PAGE_SIZE) - old_size, offset - old_size); - err = iomap_zero_range(vi, old_size, len, NULL, +- err = iomap_zero_range(vi, old_size, len, NULL, ++ err = __iomap_zero_range(vi, old_size, len, NULL, &ntfs_read_iomap_ops, -- &ntfs_iomap_folio_ops, NULL); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -+ &ntfs_iomap_folio_ops, -+#endif -+ NULL); + &ntfs_iomap_folio_ops, NULL); } - NInoSetFileNameDirty(ni); - inode_set_mtime_to_ts(vi, inode_set_ctime_current(vi)); diff --git a/fs/ntfsplus/inode.c b/fs/ntfsplus/inode.c -index 28925d204..dd0ee4f86 100644 +index 28925d204..9bb036293 100644 --- a/fs/ntfsplus/inode.c +++ b/fs/ntfsplus/inode.c -@@ -2419,7 +2419,10 @@ int ntfs_extend_initialized_size(struct inode *vi, const loff_t offset, - err = iomap_zero_range(vi, old_init_size, +@@ -2416,7 +2416,7 @@ int ntfs_extend_initialized_size(struct inode *vi, const loff_t offset, + return err; + + if (!NInoCompressed(ni) && old_init_size < offset) { +- err = iomap_zero_range(vi, old_init_size, ++ err = __iomap_zero_range(vi, old_init_size, offset - old_init_size, NULL, &ntfs_read_iomap_ops, -- &ntfs_iomap_folio_ops, NULL); -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -+ &ntfs_iomap_folio_ops, + &ntfs_iomap_folio_ops, NULL); +diff --git a/fs/ntfsplus/inode.h b/fs/ntfsplus/inode.h +index 0966f5916..4641ca066 100644 +--- a/fs/ntfsplus/inode.h ++++ b/fs/ntfsplus/inode.h +@@ -351,4 +351,17 @@ int ntfs_extend_initialized_size(struct inode *vi, const loff_t offset, + const loff_t new_size); + void ntfs_set_vfs_operations(struct inode *inode, mode_t mode, dev_t dev); + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) ++#define __iomap_file_buffered_write iomap_file_buffered_write ++#define __iomap_truncate_page iomap_truncate_page ++#define __iomap_zero_range iomap_zero_range ++#else ++#define __iomap_file_buffered_write(iocb, from, ops, __write_ops, private) \ ++ iomap_file_buffered_write(iocb, from, ops, private) ++#define __iomap_truncate_page(inode, pos, did_zero, ops, __write_ops, private) \ ++ iomap_truncate_page(inode, pos, did_zero, ops, private) ++#define __iomap_zero_range(inode, pos, len, did_zero, ops, __write_ops, private) \ ++ iomap_zero_range(inode, pos, len, did_zero, ops, private) +#endif -+ NULL); - if (err) - return err; - } ++ + #endif /* _LINUX_NTFS_INODE_H */ -- 2.51.2 diff --git a/0003-ntfsplus-Backport-ntfs_iomap.c-functions-to-kernels-.patch b/0003-ntfsplus-Backport-ntfs_iomap.c-functions-to-kernels-.patch index bb3751ef34e5..a3842892417c 100644 --- a/0003-ntfsplus-Backport-ntfs_iomap.c-functions-to-kernels-.patch +++ b/0003-ntfsplus-Backport-ntfs_iomap.c-functions-to-kernels-.patch @@ -1,4 +1,4 @@ -From e36a3db1808d1bc3fb5f0a6eba25c3483fc116c2 Mon Sep 17 00:00:00 2001 +From 3865635d63b5369380eaf823d8bf96adbc7ba1d8 Mon Sep 17 00:00:00 2001 From: shadichy Date: Mon, 3 Nov 2025 17:49:51 +0700 Subject: [PATCH 3/7] ntfsplus: Backport ntfs_iomap.c functions to kernels @@ -52,7 +52,7 @@ index a6d2c9e01..5381ad904 100644 +#endif \ No newline at end of file diff --git a/fs/ntfsplus/ntfs_iomap.h b/fs/ntfsplus/ntfs_iomap.h -index b1a5d55fa..a7df6a42b 100644 +index b1a5d55fa..eac0c9c60 100644 --- a/fs/ntfsplus/ntfs_iomap.h +++ b/fs/ntfsplus/ntfs_iomap.h @@ -12,6 +12,10 @@ diff --git a/0004-ntfsplus-file.c-Using-mmap-instead-of-mmap_prepare-f.patch b/0004-ntfsplus-file.c-Using-mmap-instead-of-mmap_prepare-f.patch index 635e193b21bb..025e73983f90 100644 --- a/0004-ntfsplus-file.c-Using-mmap-instead-of-mmap_prepare-f.patch +++ b/0004-ntfsplus-file.c-Using-mmap-instead-of-mmap_prepare-f.patch @@ -1,4 +1,4 @@ -From 0182fed91bf397fed59bacc49664e64a98404280 Mon Sep 17 00:00:00 2001 +From 3489d369a8199cad73aa251c325fadf2c6f40b30 Mon Sep 17 00:00:00 2001 From: shadichy Date: Sun, 2 Nov 2025 04:20:28 +0700 Subject: [PATCH 4/7] ntfsplus: file.c: Using `mmap` instead of `mmap_prepare` @@ -9,10 +9,10 @@ Subject: [PATCH 4/7] ntfsplus: file.c: Using `mmap` instead of `mmap_prepare` 1 file changed, 39 insertions(+) diff --git a/fs/ntfsplus/file.c b/fs/ntfsplus/file.c -index 27c9e47d8..ea32d8091 100644 +index e2e506a62..ac42e1129 100644 --- a/fs/ntfsplus/file.c +++ b/fs/ntfsplus/file.c -@@ -706,6 +706,7 @@ static const struct vm_operations_struct ntfs_file_vm_ops = { +@@ -694,6 +694,7 @@ static const struct vm_operations_struct ntfs_file_vm_ops = { .page_mkwrite = ntfs_filemap_page_mkwrite, }; @@ -20,7 +20,7 @@ index 27c9e47d8..ea32d8091 100644 static int ntfs_file_mmap_prepare(struct vm_area_desc *desc) { struct file *file = desc->file; -@@ -739,6 +740,40 @@ static int ntfs_file_mmap_prepare(struct vm_area_desc *desc) +@@ -727,6 +728,40 @@ static int ntfs_file_mmap_prepare(struct vm_area_desc *desc) return 0; } @@ -61,7 +61,7 @@ index 27c9e47d8..ea32d8091 100644 static int ntfs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, u64 start, u64 len) { -@@ -1037,7 +1072,11 @@ const struct file_operations ntfs_file_ops = { +@@ -1016,7 +1051,11 @@ const struct file_operations ntfs_file_ops = { .read_iter = ntfs_file_read_iter, .write_iter = ntfs_file_write_iter, .fsync = ntfs_file_fsync, diff --git a/0006-ntfsplus-Update-iomap_zero_range-iomap_page_mkwrite-.patch b/0006-ntfsplus-Update-iomap_zero_range-iomap_page_mkwrite-.patch index 38f8d15f9a6f..f8b31df219d0 100644 --- a/0006-ntfsplus-Update-iomap_zero_range-iomap_page_mkwrite-.patch +++ b/0006-ntfsplus-Update-iomap_zero_range-iomap_page_mkwrite-.patch @@ -1,145 +1,64 @@ -From 6d17e2b940d8ea4f84c221f025b65403f5b9b239 Mon Sep 17 00:00:00 2001 +From 77b3499c65099fb25aa9ed9d544de9f73c25bd5f Mon Sep 17 00:00:00 2001 From: shadichy -Date: Sun, 2 Nov 2025 13:42:58 +0700 +Date: Thu, 6 Nov 2025 16:56:54 +0700 Subject: [PATCH 6/7] ntfsplus: Update `iomap_zero_range`, `iomap_page_mkwrite` and `iomap_truncate_page` for kernels older than 6.15 --- - fs/ntfsplus/file.c | 47 ++++++++++++++++++++++++++++++--------------- - fs/ntfsplus/inode.c | 8 +++++--- - 2 files changed, 36 insertions(+), 19 deletions(-) + fs/ntfsplus/file.c | 2 +- + fs/ntfsplus/inode.h | 16 +++++++++++++++- + 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/fs/ntfsplus/file.c b/fs/ntfsplus/file.c -index ea32d8091..232bfae24 100644 +index ac42e1129..0393ff5dc 100644 --- a/fs/ntfsplus/file.c +++ b/fs/ntfsplus/file.c -@@ -292,11 +292,13 @@ int ntfs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, - if (NInoNonResident(NTFS_I(vi)) && - attr->ia_size < old_size) { - err = iomap_truncate_page(vi, attr->ia_size, NULL, -- &ntfs_read_iomap_ops, -+ &ntfs_read_iomap_ops - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -- &ntfs_iomap_folio_ops, -+ , &ntfs_iomap_folio_ops, NULL -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)) -+ , NULL - #endif -- NULL); -+ ); - if (err) - goto out; - } -@@ -314,11 +316,13 @@ int ntfs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, - round_up(old_size, PAGE_SIZE) - old_size, - attr->ia_size - old_size); - err = iomap_zero_range(vi, old_size, len, -- NULL, &ntfs_read_iomap_ops, -+ NULL, &ntfs_read_iomap_ops - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -- &ntfs_iomap_folio_ops, -+ , &ntfs_iomap_folio_ops, NULL -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)) -+ , NULL - #endif -- NULL); -+ ); - } - } - if (ia_valid == ATTR_SIZE) -@@ -695,7 +699,11 @@ static vm_fault_t ntfs_filemap_page_mkwrite(struct vm_fault *vmf) +@@ -683,7 +683,7 @@ static vm_fault_t ntfs_filemap_page_mkwrite(struct vm_fault *vmf) sb_start_pagefault(inode->i_sb); file_update_time(vmf->vma->vm_file); - ret = iomap_page_mkwrite(vmf, &ntfs_page_mkwrite_iomap_ops, NULL); -+ ret = iomap_page_mkwrite(vmf, &ntfs_page_mkwrite_iomap_ops -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)) -+ , NULL -+#endif -+ ); ++ ret = __iomap_page_mkwrite(vmf, &ntfs_page_mkwrite_iomap_ops, NULL); sb_end_pagefault(inode->i_sb); return ret; } -@@ -707,6 +715,7 @@ static const struct vm_operations_struct ntfs_file_vm_ops = { - }; +diff --git a/fs/ntfsplus/inode.h b/fs/ntfsplus/inode.h +index 4641ca066..00b5c4eac 100644 +--- a/fs/ntfsplus/inode.h ++++ b/fs/ntfsplus/inode.h +@@ -351,17 +351,31 @@ int ntfs_extend_initialized_size(struct inode *vi, const loff_t offset, + const loff_t new_size); + void ntfs_set_vfs_operations(struct inode *inode, mode_t mode, dev_t dev); - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 16, 0)) -+ - static int ntfs_file_mmap_prepare(struct vm_area_desc *desc) - { - struct file *file = desc->file; -@@ -983,11 +992,13 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t offset, loff_t le - to = min_t(loff_t, (start_vcn + 1) << vol->cluster_size_bits, - end_offset); - err = iomap_zero_range(vi, offset, to - offset, NULL, -- &ntfs_read_iomap_ops, -+ &ntfs_read_iomap_ops - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -- &ntfs_iomap_folio_ops, -+ , &ntfs_iomap_folio_ops, NULL -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)) -+ , NULL ++/* ++ * Wrappers for backward compatibility ++ */ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0) + #define __iomap_file_buffered_write iomap_file_buffered_write + #define __iomap_truncate_page iomap_truncate_page + #define __iomap_zero_range iomap_zero_range +-#else ++#define __iomap_page_mkwrite iomap_page_mkwrite ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0) + #define __iomap_file_buffered_write(iocb, from, ops, __write_ops, private) \ + iomap_file_buffered_write(iocb, from, ops, private) + #define __iomap_truncate_page(inode, pos, did_zero, ops, __write_ops, private) \ + iomap_truncate_page(inode, pos, did_zero, ops, private) + #define __iomap_zero_range(inode, pos, len, did_zero, ops, __write_ops, private) \ + iomap_zero_range(inode, pos, len, did_zero, ops, private) ++#define __iomap_page_mkwrite iomap_page_mkwrite ++#else ++#define __iomap_file_buffered_write(iocb, from, ops, __write_ops, private) \ ++ iomap_file_buffered_write(iocb, from, ops, private) ++#define __iomap_truncate_page(inode, pos, did_zero, ops, __write_ops, __private) \ ++ iomap_truncate_page(inode, pos, did_zero, ops) ++#define __iomap_zero_range(inode, pos, len, did_zero, ops, __write_ops, __private) \ ++ iomap_zero_range(inode, pos, len, did_zero, ops) ++#define __iomap_page_mkwrite(vmf, ops, __private) \ ++ iomap_page_mkwrite(vmf, ops) #endif -- NULL); -+ ); - if (err < 0 || (end_vcn - start_vcn) == 1) - goto out; - start_vcn++; -@@ -997,11 +1008,13 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t offset, loff_t le - from = (end_vcn - 1) << vol->cluster_size_bits; - err = iomap_zero_range(vi, from, end_offset - from, NULL, -- &ntfs_read_iomap_ops, -+ &ntfs_read_iomap_ops - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -- &ntfs_iomap_folio_ops, -+ , &ntfs_iomap_folio_ops, NULL -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)) -+ , NULL - #endif -- NULL); -+ ); - if (err < 0 || (end_vcn - start_vcn) == 1) - goto out; - end_vcn--; -@@ -1052,11 +1065,13 @@ static long ntfs_fallocate(struct file *file, int mode, loff_t offset, loff_t le - round_up(old_size, PAGE_SIZE) - old_size, - offset - old_size); - err = iomap_zero_range(vi, old_size, len, NULL, -- &ntfs_read_iomap_ops, -+ &ntfs_read_iomap_ops - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -- &ntfs_iomap_folio_ops, -+ , &ntfs_iomap_folio_ops, NULL -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)) -+ , NULL - #endif -- NULL); -+ ); - } - NInoSetFileNameDirty(ni); - inode_set_mtime_to_ts(vi, inode_set_ctime_current(vi)); -diff --git a/fs/ntfsplus/inode.c b/fs/ntfsplus/inode.c -index dd0ee4f86..520190307 100644 ---- a/fs/ntfsplus/inode.c -+++ b/fs/ntfsplus/inode.c -@@ -2418,11 +2418,13 @@ int ntfs_extend_initialized_size(struct inode *vi, const loff_t offset, - if (!NInoCompressed(ni) && old_init_size < offset) { - err = iomap_zero_range(vi, old_init_size, - offset - old_init_size, -- NULL, &ntfs_read_iomap_ops, -+ NULL, &ntfs_read_iomap_ops - #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 17, 0)) -- &ntfs_iomap_folio_ops, -+ , &ntfs_iomap_folio_ops, NULL -+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0)) -+ , NULL - #endif -- NULL); -+ ); - if (err) - return err; - } + #endif /* _LINUX_NTFS_INODE_H */ -- 2.51.2 diff --git a/PKGBUILD b/PKGBUILD index 895d73522ec5..0db8eeb72d3b 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,7 +3,7 @@ pkgbase=ntfsplus-dkms-git pkgname=("$pkgbase" "ntfsplus-udev") -pkgver=2025.10.24.r8.cdb5126be +pkgver=2025.10.24.r8.d43516bfa pkgrel=1 # epoch=1 pkgdesc="A new NTFS driver for Linux promised to be better than NTFS3. These patches are directly taken from the maintainer's mailing list posts. Backported to 6.12." @@ -131,11 +131,11 @@ source=( sha256sums=( SKIP 0eb24ef10bcfe46dbb56a8e8fe111b30e0969c0ff19b64b802939929773e616f - 7a9305d0b4c874878d527ec7b8ed4dd61c8f973d3064eee80b6cc54375ef7515 - 105a4a70c4aae4cfa65a677139a5b737b902d5be27ea246fdc04149198360f18 - c56243dedd1cb4155b03ef824725658ef22e5227c39bac3551ffa8bae676d090 + 0f29c25ba2587b1a6ae4b10517455f204ab1b46a643abe6f0e94a470047d363e + b1faf8a991a2188795cb048fbc9b5bd2e475b71d8cc879efcc1ab73c666ab4e3 + 3e89e804ce6babcb23c55698a7d1a9adea1872ed30c1a548bdd3b9b6167e66a5 1e97bca1a60febbe56eee2a30ff37f71ff6b2341fc6f1f89d3c920e896f20c32 - c16bbd7aefc178c8d6e6fda8761589145475dd6205266820a7a8d95d88dc9dec + a8fbbc296fe31cad8d0dd6b17714d915b350bc0668b610345c9e33952cd6da9d dd75e9962be5563921101a7b5d2b852ae04cda9301ffb11c6ea574046f9f9474 e217fa145f507b1e07e228e746528554f705f44fd5744f293b302b29df764b96 ed9db8ec0caa09c977529c7ae89b808ee8c238331ec0fdf873525c115fcdfb7c