[LTP] [PATCH] mremap06: fallocate is not supported on nfsv3
samasth.norway.ananda@oracle.com
samasth.norway.ananda@oracle.com
Mon Apr 8 23:50:16 CEST 2024
On 4/5/24 5:01 AM, Cyril Hrubis wrote:
> Hi!
>> The function fallocate() is not supported on nfsv3. Thus when we run the
>> mremap06 test over a nfsv3 filesystem the test fails.
>
> Can we rather than this just skip the test on nfsv3?
>
> If we want to skip the test on nfs in generall we can just set
> .skip_filesystems = {"nfs", NULL} in the tst_test structure.
>
> I'm not sure if we can easily detect the nfs version. The test library
> does that by checking the NFS_SUPER_MAGIC againts stat, but there is a
> single SUPER_MAGIC for all nfs versions.
>
> So if we want to keep the test enabled for nfsv4 we can exit with TCONF
> when the call fails only when we are on NFS with tst_fs_type() and check
> that against TST_NFS_MAGIC.
>
Hi Cyril,
Wanted to mention that fallocate() is only supported over NFSv4.2 in
particular. it's not supported over NFSv3, v4.0 or v4.1.
I could even see on the fallocate ltp tests that it is handled the same
manner.
Thanks,
Samasth.
>> Signed-off-by: Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
>> ---
>> testcases/kernel/syscalls/mremap/mremap06.c | 8 +++++++-
>> 1 file changed, 7 insertions(+), 1 deletion(-)
>>
>> diff --git a/testcases/kernel/syscalls/mremap/mremap06.c b/testcases/kernel/syscalls/mremap/mremap06.c
>> index 3bbaf441a..362b03e19 100644
>> --- a/testcases/kernel/syscalls/mremap/mremap06.c
>> +++ b/testcases/kernel/syscalls/mremap/mremap06.c
>> @@ -104,8 +104,14 @@ static void setup(void)
>> fd = SAFE_OPEN("testfile", O_CREAT | O_RDWR | O_TRUNC, 0600);
>>
>> ret = fallocate(fd, 0, 0, mmap_size);
>> - if (ret == -1)
>> + if (ret != 0) {
>> + if (errno == EOPNOTSUPP || errno == ENOSYS) {
>> + tst_brk(TCONF,
>> + "fallocate system call is not implemented");
>> + }
>> tst_brk(TBROK, "fallocate() failed");
>> + return;
>
> The return shouldn't be here, tst_brk() does not return.
>
>> + }
>>
>> buf = SAFE_MMAP(0, mmap_size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
>>
>> --
>> 2.43.0
>>
>>
>> --
>> Mailing list info: https://lists.linux.it/listinfo/ltp
>
More information about the ltp
mailing list