[LTP] [PATCH v2] mremap06: fallocate is not supported on nfsv4.1 or earlier

Petr Vorel pvorel@suse.cz
Fri Apr 12 08:22:56 CEST 2024


Hi all,

> The function fallocate() is only supported over NFSv4.2. Thus when we
> run the mremap06 ltp test over an NFSv4.1 or earlier filesystem the test
> fails.

> Signed-off-by: Samasth Norway Ananda <samasth.norway.ananda@oracle.com>
> ---
>  testcases/kernel/syscalls/mremap/mremap06.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)

> diff --git a/testcases/kernel/syscalls/mremap/mremap06.c b/testcases/kernel/syscalls/mremap/mremap06.c
> index 3bbaf441a..f3df0551c 100644
> --- a/testcases/kernel/syscalls/mremap/mremap06.c
> +++ b/testcases/kernel/syscalls/mremap/mremap06.c
> @@ -104,8 +104,13 @@ 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 (tst_fs_type(".") == TST_NFS_MAGIC && (errno == EOPNOTSUPP || errno == ENOSYS)) {
> +			tst_brk(TCONF,
> +				"fallocate system call is not implemented");
> +		}

Reviewed-by: Petr Vorel <pvorel@suse.cz>

Thanks!

NOTE: I'll amend the code formatting before merge:

		if (tst_fs_type(".") == TST_NFS_MAGIC && (errno == EOPNOTSUPP ||
												  errno == ENOSYS)) {
			tst_brk(TCONF, "fallocate system call is not implemented");
		}

And prepare following patch which adds safe_fallocate() in the library.

Kind regards,
Petr


More information about the ltp mailing list