[LTP] [PATCH] syscalls/fcntl06: Remove R_GETLK/R_SETLK test case
Petr Vorel
pvorel@suse.cz
Tue Apr 11 08:27:21 CEST 2023
Hi Xu,
> linux never implement R_GETLK/R_SETLK facility, so this case
> is useless.
> A twenty years old email[1] also mentioned that we should remove
> this case but leave a bad gap number.
> R_GETLK/R_SETLK facility only exists in the IRIXones.
> IRIX says this pair of arguments are for use by NFS lockd and really
> doesn't go into much detail.
Reviewed-by: Petr Vorel <pvorel@suse.cz>
> Fixes:#1029
> [1]https://sourceforge.net/p/ltp/mailman/message/7574937/
...
> --- a/testcases/kernel/syscalls/fcntl/fcntl06.c
> +++ /dev/null
...
- #define F_RGETLK 10 /* kludge code */
Kernel and glibc/musl does not define F_RGETLK (it's from here),
and I haven't find find any flag with value 10 in libc include/fcntl.h).
Commit from 2003 4cf809678 ("*** empty log message ***")
removed struct flock tl;, therefore it does not compile with
-DLINUX_FILE_REGION_LOCK.
With fixed code it shows fcntl() always return -1 and errno EINVAL.
=> looks to be safe to remove the test.
Kind regards,
Petr
> -#ifdef LINUX_FILE_REGION_LOCK
> - if (fcntl(fd, F_RGETLK, &tl) == -1) {
> - if (errno == EINVAL)
> - tst_brkm(TCONF, cleanup,
> - "fcntl remote locking feature not implemented in "
> - "the kernel");
> - else {
> - /*
> - * FIXME (garrcoop): having it always pass on
> - * non-EINVAL is a bad test.
> - */
> - tst_resm(TPASS, "fcntl on file failed");
> - }
> - }
...
More information about the ltp
mailing list