[PATCH v2] ntfs: compare streams_interface with mounted volume on remount
From: DaeMyung Kang
Date: Mon Oct 12 2026 - 07:28:36 EST
During reconfiguration, fc->s_fs_info points to a newly allocated
ntfs_volume. It does not contain the mounted volume's stream setting.
Consequently, a windows mount rejects a remount with the same
streams_interface=windows setting, but accepts streams_interface=none
without changing the active pathname interface. This also breaks an
ordinary read-only remount when the existing windows setting is passed
again, for example from fstab.
Compare the requested setting with the mounted volume instead. Report
an unsupported change with ntfs_warning() so it does not invoke the
mounted filesystem's error-handling policy.
Fixes: 2de2cdd9cc08 ("ntfs: add pathname access for named streams")
Signed-off-by: DaeMyung Kang <charsyam@xxxxxxxxx>
---
Changes in v2:
- Use ntfs_warning() so a rejected option change does not invoke the
mounted volume's error policy, as Baolin suggested.
- Explain in the commit message why logging must not invoke the mounted
filesystem's error policy.
Link to v1: https://lore.kernel.org/r/20261012031656.3858771-1-charsyam@xxxxxxxxx
fs/ntfs/super.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/ntfs/super.c b/fs/ntfs/super.c
index 242fb19ced2b..ed9f29b16c7c 100644
--- a/fs/ntfs/super.c
+++ b/fs/ntfs/super.c
@@ -275,9 +275,9 @@ static int ntfs_parse_param(struct fs_context *fc, struct fs_parameter *param)
result.uint_32 == STREAMS_INTERFACE_WINDOWS;
if (fc->purpose == FS_CONTEXT_FOR_RECONFIGURE &&
- NVolStreamsWindows(vol) != streams_windows) {
- ntfs_error(vol->sb,
- "Cannot change streams_interface on remount.");
+ NVolStreamsWindows(NTFS_SB(fc->root->d_sb)) != streams_windows) {
+ ntfs_warning(fc->root->d_sb,
+ "Cannot change streams_interface on remount.");
return -EINVAL;
}
if (streams_windows)
--
2.43.0