diff mbox series

Ignore ntfs file system

Message ID 20210425030440.12762-1-zhanglianjie@uniontech.com
State Accepted
Headers show
Series Ignore ntfs file system | expand

Commit Message

zhanglianjie April 25, 2021, 3:04 a.m. UTC
If the fuse file system is ignored and the kernel enable CONFIG_NTFS_FS,
then the mount.ntfs of fuse is used when mounting ntfs,
which is equivalent to not ignoring the fuse file system.

Signed-off-by: zhanglianjie <zhanglianjie@uniontech.com>
---
 testcases/kernel/syscalls/sync_file_range/sync_file_range02.c | 1 +
 1 file changed, 1 insertion(+)

--
2.20.1

Comments

Petr Vorel April 26, 2021, 7:25 p.m. UTC | #1
Hi,

> If the fuse file system is ignored and the kernel enable CONFIG_NTFS_FS,
> then the mount.ntfs of fuse is used when mounting ntfs,
> which is equivalent to not ignoring the fuse file system.

...
> +++ b/testcases/kernel/syscalls/sync_file_range/sync_file_range02.c
> @@ -123,6 +123,7 @@ static struct tst_test test = {
>  	.all_filesystems = 1,
>  	.skip_filesystems = (const char *const []){
>  		"fuse",
> +		"ntfs",

Shouldn't "ntfs" *replace* "fuse"?

Testing on SLES kernel 5.3 (heavily patched) which is without CONFIG_NTFS_FS:
...
tst_supported_fs_types.c:51: TINFO: mkfs.vfat does exist
...
Summary:
passed   21
failed   0
broken   0
skipped  0
warnings 0

Testing Debian kernel 4.9.0-11-amd64 which is with CONFIG_NTFS_FS:
tst_supported_fs_types.c:148: TINFO: Skipping ntfs as requested by the test
...
Summary:
passed   15
failed   0
broken   0
skipped  0
warnings 0


Kind regards,
Petr
zhanglianjie April 27, 2021, 12:25 p.m. UTC | #2
Hi,
> 
>> If the fuse file system is ignored and the kernel enable CONFIG_NTFS_FS,
>> then the mount.ntfs of fuse is used when mounting ntfs,
>> which is equivalent to not ignoring the fuse file system.
> 
> ...
>> +++ b/testcases/kernel/syscalls/sync_file_range/sync_file_range02.c
>> @@ -123,6 +123,7 @@ static struct tst_test test = {
>>   	.all_filesystems = 1,
>>   	.skip_filesystems = (const char *const []){
>>   		"fuse",
>> +		"ntfs",
> 
> Shouldn't "ntfs" *replace* "fuse"?
Can't replace fuse.

> 
> Testing on SLES kernel 5.3 (heavily patched) which is without CONFIG_NTFS_FS:
> ...
> tst_supported_fs_types.c:51: TINFO: mkfs.vfat does exist
> ...
> Summary:
> passed   21
> failed   0
> broken   0
> skipped  0
> warnings 0
If there is no CONFIG_NTFS_FS, the test of the ntfs file system will be
ignored. Because there is fuse in skip_filesystems, the test can pass.
> 
> Testing Debian kernel 4.9.0-11-amd64 which is with CONFIG_NTFS_FS:
> tst_supported_fs_types.c:148: TINFO: Skipping ntfs as requested by the test
> ...
> Summary:
> passed   15
> failed   0
> broken   0
> skipped  0
> warnings 0
>
CONFIG_NTFS_FS is configured, are you sure there is no ntfs
in skip_filesystems? Why does it output "Skipping ntfs as requested by
the test"?
There should be no mount.ntfs command provided by ntfs-3g in your
system.

Testing Ubuntu kernel 5.8.0-50-generic:

ub-PC$ cat /boot/config-5.8.0-50-generic | grep -E "EXFAT_FS|NTFS_FS"
CONFIG_EXFAT_FS=m
CONFIG_NTFS_FS=m

tst_supported_fs_types.c:89: TINFO: Kernel supports ntfs
tst_supported_fs_types.c:51: TINFO: mkfs.ntfs does exist
...
tst_test.c:1379: TINFO: Testing on ntfs
tst_test.c:888: TINFO: Formatting /dev/loop10 with ntfs opts='' extra 
opts=''
tst_test.c:899: TINFO: Trying FUSE...
tst_test.c:1311: TINFO: Timeout per run is 0h 05m 00s
sync_file_range02.c:73: TFAIL: Sync equals write: Synced 0, expected 
33554432
sync_file_range02.c:73: TFAIL: Sync inside of write: Synced 0, expected 
16777216
sync_file_range02.c:73: TFAIL: Sync overlaps with write: Synced 0, 
expected 8388608
Summary:
passed   15
failed   3
broken   0
skipped  0
warnings 0
Petr Vorel April 27, 2021, 1:27 p.m. UTC | #3
Hi,

> > > If the fuse file system is ignored and the kernel enable CONFIG_NTFS_FS,
> > > then the mount.ntfs of fuse is used when mounting ntfs,
> > > which is equivalent to not ignoring the fuse file system.

> > ...
> > > +++ b/testcases/kernel/syscalls/sync_file_range/sync_file_range02.c
> > > @@ -123,6 +123,7 @@ static struct tst_test test = {
> > >   	.all_filesystems = 1,
> > >   	.skip_filesystems = (const char *const []){
> > >   		"fuse",
> > > +		"ntfs",

> > Shouldn't "ntfs" *replace* "fuse"?
> Can't replace fuse.
Not sure if we understand each other: I mean add "ntfs" and *remove* "fuse",
as "fuse" is now redundant when we whitelist ntfs (see
tst_get_supported_fs_types()), unless there is problem with other fuse
filesystems. I tested with CONFIG_FUSE_FS=m CONFIG_EXFAT_FS=m.

But maybe removing "fuse" should be a separate step.

> > Testing on SLES kernel 5.3 (heavily patched) which is without CONFIG_NTFS_FS:
> > ...
> > tst_supported_fs_types.c:51: TINFO: mkfs.vfat does exist
> > ...
> > Summary:
> > passed   21
> > failed   0
> > broken   0
> > skipped  0
> > warnings 0
> If there is no CONFIG_NTFS_FS, the test of the ntfs file system will be
> ignored. Because there is fuse in skip_filesystems, the test can pass.

See above.

> > Testing Debian kernel 4.9.0-11-amd64 which is with CONFIG_NTFS_FS:
> > tst_supported_fs_types.c:148: TINFO: Skipping ntfs as requested by the test
> > ...
> > Summary:
> > passed   15
> > failed   0
> > broken   0
> > skipped  0
> > warnings 0

> CONFIG_NTFS_FS is configured, are you sure there is no ntfs
> in skip_filesystems? Why does it output "Skipping ntfs as requested by
> the test"?
> There should be no mount.ntfs command provided by ntfs-3g in your
> system.
See above.

Kind regards,
Petr
zhanglianjie April 27, 2021, 2:36 p.m. UTC | #4
Hi,

> 
>>>> If the fuse file system is ignored and the kernel enable CONFIG_NTFS_FS,
>>>> then the mount.ntfs of fuse is used when mounting ntfs,
>>>> which is equivalent to not ignoring the fuse file system.
> 
>>> ...
>>>> +++ b/testcases/kernel/syscalls/sync_file_range/sync_file_range02.c
>>>> @@ -123,6 +123,7 @@ static struct tst_test test = {
>>>>    	.all_filesystems = 1,
>>>>    	.skip_filesystems = (const char *const []){
>>>>    		"fuse",
>>>> +		"ntfs",
> 
>>> Shouldn't "ntfs" *replace* "fuse"?
>> Can't replace fuse.
> Not sure if we understand each other: I mean add "ntfs" and *remove* "fuse",
> as "fuse" is now redundant when we whitelist ntfs (see
> tst_get_supported_fs_types()), unless there is problem with other fuse
> filesystems. I tested with CONFIG_FUSE_FS=m CONFIG_EXFAT_FS=m.
> 
> But maybe removing "fuse" should be a separate step.
> 
I can understand what you mean, but I can't remove the fuse. If the fuse 
is removed and the kernel is not configured with CONFIG_EXFAT_FS=m, it 
will cause the test exfat to fail.

>>> Testing on SLES kernel 5.3 (heavily patched) which is without CONFIG_NTFS_FS:
>>> ...
>>> tst_supported_fs_types.c:51: TINFO: mkfs.vfat does exist
>>> ...
>>> Summary:
>>> passed   21
>>> failed   0
>>> broken   0
>>> skipped  0
>>> warnings 0
>> If there is no CONFIG_NTFS_FS, the test of the ntfs file system will be
>> ignored. Because there is fuse in skip_filesystems, the test can pass.
> 
> See above.
> 
>>> Testing Debian kernel 4.9.0-11-amd64 which is with CONFIG_NTFS_FS:
>>> tst_supported_fs_types.c:148: TINFO: Skipping ntfs as requested by the test
>>> ...
>>> Summary:
>>> passed   15
>>> failed   0
>>> broken   0
>>> skipped  0
>>> warnings 0
> 
>> CONFIG_NTFS_FS is configured, are you sure there is no ntfs
>> in skip_filesystems? Why does it output "Skipping ntfs as requested by
>> the test"?
>> There should be no mount.ntfs command provided by ntfs-3g in your
>> system.
> See above.
> 
> Kind regards,
> Petr
> 
>
Petr Vorel April 27, 2021, 7:14 p.m. UTC | #5
Hi,

> > > > Shouldn't "ntfs" *replace* "fuse"?
> > > Can't replace fuse.
> > Not sure if we understand each other: I mean add "ntfs" and *remove* "fuse",
> > as "fuse" is now redundant when we whitelist ntfs (see
> > tst_get_supported_fs_types()), unless there is problem with other fuse
> > filesystems. I tested with CONFIG_FUSE_FS=m CONFIG_EXFAT_FS=m.

> > But maybe removing "fuse" should be a separate step.

> I can understand what you mean, but I can't remove the fuse. If the fuse is
> removed and the kernel is not configured with CONFIG_EXFAT_FS=m, it will
> cause the test exfat to fail.

You're right, I didn't notice I tested it without mount.exfat. Sorry for being
slow. Interesting that while NTFS kernel module does not work on the test, exfat
from Samsung does.

Anyway merged. Thanks!

Kind regards,
Petr
diff mbox series

Patch

diff --git a/testcases/kernel/syscalls/sync_file_range/sync_file_range02.c b/testcases/kernel/syscalls/sync_file_range/sync_file_range02.c
index d9a8eec31..f9693089b 100644
--- a/testcases/kernel/syscalls/sync_file_range/sync_file_range02.c
+++ b/testcases/kernel/syscalls/sync_file_range/sync_file_range02.c
@@ -123,6 +123,7 @@  static struct tst_test test = {
 	.all_filesystems = 1,
 	.skip_filesystems = (const char *const []){
 		"fuse",
+		"ntfs",
 		"tmpfs",
 		NULL
 	},