diff mbox series

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

Message ID 20240412052632.1787731-1-samasth.norway.ananda@oracle.com
State Accepted
Headers show
Series [v2] mremap06: fallocate is not supported on nfsv4.1 or earlier | expand

Commit Message

Samasth Norway Ananda April 12, 2024, 5:26 a.m. UTC
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(-)

Comments

Petr Vorel April 12, 2024, 6:22 a.m. UTC | #1
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
Cyril Hrubis April 12, 2024, 7:33 a.m. UTC | #2
Hi!
Reviewed-by: Cyril Hrubis <chrubis@suse.cz>
Petr Vorel April 12, 2024, 9:16 a.m. UTC | #3
Hi Samasth, Cyril,

patch merged, thanks!

Kind regards,
Petr
diff mbox series

Patch

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");
+		}
 		tst_brk(TBROK, "fallocate() failed");
+	}
 
 	buf = SAFE_MMAP(0, mmap_size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);