* [LTP] [PATCH] syscalls: skip ntfs3 in ioctl_fiemap01 and mount03
@ 2026-06-02 6:45 XiaoLei Wu
2026-06-02 11:23 ` [LTP] " linuxtestproject.agent
2026-06-03 9:49 ` [LTP] [PATCH] " Cyril Hrubis
0 siblings, 2 replies; 6+ messages in thread
From: XiaoLei Wu @ 2026-06-02 6:45 UTC (permalink / raw)
To: ltp
Since commit 7dc8e9a515ce ("lib: Treat kernel ntfs3 as a separate FS"),
tests with all_filesystems=1 run on ntfs3 independently.
ioctl_fiemap01 and mount03 already skip ntfs, but still run on ntfs3.
ioctl_fiemap01 fails because the returned FIEMAP extents do not match
the layout expected by the test. mount03 fails because directory
timestamps are not updated as expected under strictatime. Add ntfs3 to
their skip lists, matching the existing ntfs skips.
Signed-off-by: XiaoLei Wu <wxl18715129466@gmail.com>
---
testcases/kernel/syscalls/ioctl/ioctl_fiemap01.c | 2 +-
testcases/kernel/syscalls/mount/mount03.c | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/testcases/kernel/syscalls/ioctl/ioctl_fiemap01.c b/testcases/kernel/syscalls/ioctl/ioctl_fiemap01.c
index 31187b1..8a660f0 100644
--- a/testcases/kernel/syscalls/ioctl/ioctl_fiemap01.c
+++ b/testcases/kernel/syscalls/ioctl/ioctl_fiemap01.c
@@ -119,7 +119,7 @@ static struct tst_test test = {
.mntpoint = MNTPOINT,
.all_filesystems = 1,
.skip_filesystems = (const char *const[]) {
- "exfat", "vfat", "fuse", "ntfs", "tmpfs", NULL
+ "exfat", "vfat", "fuse", "ntfs", "ntfs3", "tmpfs", NULL
},
.test_all = verify_ioctl,
.needs_root = 1,
diff --git a/testcases/kernel/syscalls/mount/mount03.c b/testcases/kernel/syscalls/mount/mount03.c
index 8dd6f3e..628b3f2 100644
--- a/testcases/kernel/syscalls/mount/mount03.c
+++ b/testcases/kernel/syscalls/mount/mount03.c
@@ -256,6 +256,7 @@ static struct tst_test test = {
"exfat",
"vfat",
"ntfs",
+ "ntfs3",
NULL
},
};
--
2.43.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [LTP] syscalls: skip ntfs3 in ioctl_fiemap01 and mount03
2026-06-02 6:45 [LTP] [PATCH] syscalls: skip ntfs3 in ioctl_fiemap01 and mount03 XiaoLei Wu
@ 2026-06-02 11:23 ` linuxtestproject.agent
2026-06-03 9:49 ` [LTP] [PATCH] " Cyril Hrubis
1 sibling, 0 replies; 6+ messages in thread
From: linuxtestproject.agent @ 2026-06-02 11:23 UTC (permalink / raw)
To: XiaoLei Wu; +Cc: ltp
Hi XiaoLei Wu,
Thank you for the patch. Review below.
> syscalls: skip ntfs3 in ioctl_fiemap01 and mount03
>
> Since commit 7dc8e9a515ce ("lib: Treat kernel ntfs3 as a separate FS"),
> tests with all_filesystems=1 run on ntfs3 independently.
>
> ioctl_fiemap01 and mount03 already skip ntfs, but still run on ntfs3.
> ioctl_fiemap01 fails because the returned FIEMAP extents do not match
> the layout expected by the test. mount03 fails because directory
> timestamps are not updated as expected under strictatime. Add ntfs3 to
> their skip lists, matching the existing ntfs skips.
>
> Signed-off-by: XiaoLei Wu <wxl18715129466@gmail.com>
Commit message looks good. The "Since commit ..." reference clearly
explains the motivation. Optionally, a formal:
Fixes: 7dc8e9a515ce ("lib: Treat kernel ntfs3 as a separate FS")
trailer would aid automated tracking, though the inline reference is
acceptable per LTP convention.
> diff --git a/testcases/kernel/syscalls/ioctl/ioctl_fiemap01.c b/testcases/kernel/syscalls/ioctl/ioctl_fiemap01.c
> @@ -119,7 +119,7 @@ static struct tst_test test = {
> .mntpoint = MNTPOINT,
> .all_filesystems = 1,
> .skip_filesystems = (const char *const[]) {
> - "exfat", "vfat", "fuse", "ntfs", "tmpfs", NULL
> + "exfat", "vfat", "fuse", "ntfs", "ntfs3", "tmpfs", NULL
> },
Correct. ntfs3 is placed between the existing ntfs and tmpfs entries,
and matches the rationale: FIEMAP extent layout on ntfs3 does not match
the three-extent layout the test builds by writing at block offsets 0,
2, and 4.
> diff --git a/testcases/kernel/syscalls/mount/mount03.c b/testcases/kernel/syscalls/mount/mount03.c
> @@ -256,6 +256,7 @@ static struct tst_test test = {
> "exfat",
> "vfat",
> "ntfs",
> + "ntfs3",
> NULL
> },
Correct. ntfs3 is inserted immediately after the existing ntfs entry.
The commit message correctly identifies that test_strictatime() —
which calls test_file_dir_noatime(1, 1) expecting both file and
directory access times to be updated under MS_STRICTATIME — fails on
ntfs3 because the kernel ntfs3 driver does not update directory
timestamps as the Linux VFS expects.
Both tests are listed in runtest/syscalls. No Makefile changes are
needed since no new files are added.
--- Pre-existing issues (informational, do not affect verdict) ---
ioctl_fiemap01.c: verify_ioctl() allocates fiemap and buf via
SAFE_MALLOC, and opens fd via SAFE_OPEN, but only frees/closes them
at the function's end. If any SAFE_* macro in the middle aborts via
tst_brk(), the allocations are leaked for the duration of the
all_filesystems loop iteration. In practice this is harmless because
the mounts are torn down between iterations, but a .cleanup callback
closing fd would be cleaner. This is pre-existing and not introduced by
this patch.
--- End pre-existing issues ---
Verdict: Reviewed
Reviewed-by: LTP AI Reviewer
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [LTP] [PATCH] syscalls: skip ntfs3 in ioctl_fiemap01 and mount03
2026-06-02 6:45 [LTP] [PATCH] syscalls: skip ntfs3 in ioctl_fiemap01 and mount03 XiaoLei Wu
2026-06-02 11:23 ` [LTP] " linuxtestproject.agent
@ 2026-06-03 9:49 ` Cyril Hrubis
2026-06-04 11:01 ` [LTP] [PATCH v2] lib: treat ntfs3 as ntfs in filesystem skiplists XiaoLei Wu
1 sibling, 1 reply; 6+ messages in thread
From: Cyril Hrubis @ 2026-06-03 9:49 UTC (permalink / raw)
To: XiaoLei Wu; +Cc: ltp
Hi!
> Since commit 7dc8e9a515ce ("lib: Treat kernel ntfs3 as a separate FS"),
> tests with all_filesystems=1 run on ntfs3 independently.
>
> ioctl_fiemap01 and mount03 already skip ntfs, but still run on ntfs3.
> ioctl_fiemap01 fails because the returned FIEMAP extents do not match
> the layout expected by the test. mount03 fails because directory
> timestamps are not updated as expected under strictatime. Add ntfs3 to
> their skip lists, matching the existing ntfs skips.
Maybe it would make more sense to match ntfs3 when ntfs is in the
skiplist in the test library instead, something as:
diff --git a/lib/tst_supported_fs_types.c b/lib/tst_supported_fs_types.c
index d3020fc48..d20c655ea 100644
--- a/lib/tst_supported_fs_types.c
+++ b/lib/tst_supported_fs_types.c
@@ -72,6 +72,9 @@ int tst_fs_in_skiplist(const char *fs_type, const char *const *skiplist)
{
unsigned int i;
+ if (!strcmp(fs_type, "ntfs3"))
+ fs_type = "ntfs";
+
if (!skiplist)
return 0;
--
Cyril Hrubis
chrubis@suse.cz
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 6+ messages in thread* [LTP] [PATCH v2] lib: treat ntfs3 as ntfs in filesystem skiplists
2026-06-03 9:49 ` [LTP] [PATCH] " Cyril Hrubis
@ 2026-06-04 11:01 ` XiaoLei Wu
2026-06-04 11:29 ` [LTP] " linuxtestproject.agent
2026-06-04 12:27 ` [LTP] [PATCH v2] " Cyril Hrubis
0 siblings, 2 replies; 6+ messages in thread
From: XiaoLei Wu @ 2026-06-04 11:01 UTC (permalink / raw)
To: ltp; +Cc: XiaoLei Wu
ntfs3 is handled as a separate filesystem, but tests that skip ntfs
generally want to skip ntfs3 as well. Handle this in the common
skiplist check instead of adding ntfs3 to individual tests.
Signed-off-by: XiaoLei Wu <wxl18715129466@gmail.com>
---
Changes in v2:
- Move ntfs3 handling to tst_fs_in_skiplist() instead of adding ntfs3 to
individual test skip lists.
lib/tst_supported_fs_types.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/tst_supported_fs_types.c b/lib/tst_supported_fs_types.c
index d3020fc..d20c655 100644
--- a/lib/tst_supported_fs_types.c
+++ b/lib/tst_supported_fs_types.c
@@ -72,6 +72,9 @@ int tst_fs_in_skiplist(const char *fs_type, const char *const *skiplist)
{
unsigned int i;
+ if (!strcmp(fs_type, "ntfs3"))
+ fs_type = "ntfs";
+
if (!skiplist)
return 0;
--
2.43.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [LTP] lib: treat ntfs3 as ntfs in filesystem skiplists
2026-06-04 11:01 ` [LTP] [PATCH v2] lib: treat ntfs3 as ntfs in filesystem skiplists XiaoLei Wu
@ 2026-06-04 11:29 ` linuxtestproject.agent
2026-06-04 12:27 ` [LTP] [PATCH v2] " Cyril Hrubis
1 sibling, 0 replies; 6+ messages in thread
From: linuxtestproject.agent @ 2026-06-04 11:29 UTC (permalink / raw)
To: XiaoLei Wu; +Cc: ltp
Hi XiaoLei,
On Thu Jun 4 19:01:38 2026 +0800, XiaoLei Wu wrote:
> lib: treat ntfs3 as ntfs in filesystem skiplists
> + if (!strcmp(fs_type, "ntfs3"))
> + fs_type = "ntfs";
> +
> if (!skiplist)
> return 0;
>
> for (i = 0; skiplist[i]; i++) {
> if (!strcmp(fs_type, skiplist[i]))
> return 1;
The mapping is one-directional: ntfs3 is remapped to ntfs before the
loop, so a skiplist containing "ntfs3" (without "ntfs") will no longer
match.
For example, a test calling:
tst_get_supported_fs_types((const char *const []){ "ntfs3", NULL });
expects ntfs3 to be excluded, but after this change the lookup
compares "ntfs" against "ntfs3" in the list and returns 0, so ntfs3
is not skipped.
No test in the tree has this pattern today, so there is no immediate
regression. But the API contract of tst_fs_in_skiplist has changed
silently: passing "ntfs3" in a skiplist no longer skips ntfs3.
Is that intentional? If the design decision is "callers must use
'ntfs' to cover both drivers", then a code comment on
tst_fs_in_skiplist (and perhaps on tst_get_supported_fs_types) to
that effect would make the contract clear and prevent future callers
from hitting this silently.
Alternatively, normalising on both sides of the comparison would
preserve the old contract while adding the new ntfs-covers-ntfs3
behaviour:
for (i = 0; skiplist[i]; i++) {
const char *entry = skiplist[i];
if (!strcmp(entry, "ntfs3"))
entry = "ntfs";
if (!strcmp(fs_type, entry))
return 1;
}
Verdict: Needs revision
---
Note:
The agent can sometimes produce false positives although often its
findings are genuine. If you find issues with the review, please
comment this email or ignore the suggestions.
Regards,
LTP AI Reviewer
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [LTP] [PATCH v2] lib: treat ntfs3 as ntfs in filesystem skiplists
2026-06-04 11:01 ` [LTP] [PATCH v2] lib: treat ntfs3 as ntfs in filesystem skiplists XiaoLei Wu
2026-06-04 11:29 ` [LTP] " linuxtestproject.agent
@ 2026-06-04 12:27 ` Cyril Hrubis
1 sibling, 0 replies; 6+ messages in thread
From: Cyril Hrubis @ 2026-06-04 12:27 UTC (permalink / raw)
To: XiaoLei Wu; +Cc: ltp
Hi!
I've added a few more tags and pushed, thanks.
--
Cyril Hrubis
chrubis@suse.cz
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-06-04 12:28 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-02 6:45 [LTP] [PATCH] syscalls: skip ntfs3 in ioctl_fiemap01 and mount03 XiaoLei Wu
2026-06-02 11:23 ` [LTP] " linuxtestproject.agent
2026-06-03 9:49 ` [LTP] [PATCH] " Cyril Hrubis
2026-06-04 11:01 ` [LTP] [PATCH v2] lib: treat ntfs3 as ntfs in filesystem skiplists XiaoLei Wu
2026-06-04 11:29 ` [LTP] " linuxtestproject.agent
2026-06-04 12:27 ` [LTP] [PATCH v2] " Cyril Hrubis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox