diff mbox series

[RFC,v2,3/4] selftests: use shared header

Message ID 20241011-work-overlayfs-v2-3-1b43328c5a31@kernel.org (mailing list archive)
State New
Headers show
Series ovl: specify layers via file descriptors | expand

Commit Message

Christian Brauner Oct. 11, 2024, 9:45 p.m. UTC
So that we don't have to redefine the same system calls over and over.

Signed-off-by: Christian Brauner <brauner@kernel.org>
---
 .../selftests/filesystems/overlayfs/dev_in_maps.c  | 27 +-------------
 .../selftests/filesystems/overlayfs/wrappers.h     | 43 ++++++++++++++++++++++
 2 files changed, 44 insertions(+), 26 deletions(-)

Comments

Amir Goldstein Oct. 12, 2024, 7:33 a.m. UTC | #1
On Fri, Oct 11, 2024 at 11:46 PM Christian Brauner <brauner@kernel.org> wrote:
>
> So that we don't have to redefine the same system calls over and over.
>
> Signed-off-by: Christian Brauner <brauner@kernel.org>

Heh, I forgot that this selftest existed, even though I clearly reviewed it
I will even run it from now on :)

Reviewed-by: Amir Goldstein <amir73il@gmail.com>

> ---
>  .../selftests/filesystems/overlayfs/dev_in_maps.c  | 27 +-------------
>  .../selftests/filesystems/overlayfs/wrappers.h     | 43 ++++++++++++++++++++++
>  2 files changed, 44 insertions(+), 26 deletions(-)
>
> diff --git a/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c b/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
> index 2862aae58b79acbe175ab6b36b42798bb99a2225..3b796264223f81fc753d0adaeccc04077023520b 100644
> --- a/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
> +++ b/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
> @@ -17,32 +17,7 @@
>
>  #include "../../kselftest.h"
>  #include "log.h"
> -
> -static int sys_fsopen(const char *fsname, unsigned int flags)
> -{
> -       return syscall(__NR_fsopen, fsname, flags);
> -}
> -
> -static int sys_fsconfig(int fd, unsigned int cmd, const char *key, const char *value, int aux)
> -{
> -       return syscall(__NR_fsconfig, fd, cmd, key, value, aux);
> -}
> -
> -static int sys_fsmount(int fd, unsigned int flags, unsigned int attr_flags)
> -{
> -       return syscall(__NR_fsmount, fd, flags, attr_flags);
> -}
> -static int sys_mount(const char *src, const char *tgt, const char *fst,
> -               unsigned long flags, const void *data)
> -{
> -       return syscall(__NR_mount, src, tgt, fst, flags, data);
> -}
> -static int sys_move_mount(int from_dfd, const char *from_pathname,
> -                         int to_dfd, const char *to_pathname,
> -                         unsigned int flags)
> -{
> -       return syscall(__NR_move_mount, from_dfd, from_pathname, to_dfd, to_pathname, flags);
> -}
> +#include "wrappers.h"
>
>  static long get_file_dev_and_inode(void *addr, struct statx *stx)
>  {
> diff --git a/tools/testing/selftests/filesystems/overlayfs/wrappers.h b/tools/testing/selftests/filesystems/overlayfs/wrappers.h
> new file mode 100644
> index 0000000000000000000000000000000000000000..4f99e10f7f018fd9a7be5263f68d34807da4c53c
> --- /dev/null
> +++ b/tools/testing/selftests/filesystems/overlayfs/wrappers.h
> @@ -0,0 +1,43 @@
> +// SPDX-License-Identifier: GPL-2.0
> +//
> +#ifndef __SELFTEST_OVERLAYFS_WRAPPERS_H__
> +#define __SELFTEST_OVERLAYFS_WRAPPERS_H__
> +
> +#define _GNU_SOURCE
> +
> +#include <linux/types.h>
> +#include <linux/mount.h>
> +#include <sys/syscall.h>
> +
> +static inline int sys_fsopen(const char *fsname, unsigned int flags)
> +{
> +       return syscall(__NR_fsopen, fsname, flags);
> +}
> +
> +static inline int sys_fsconfig(int fd, unsigned int cmd, const char *key,
> +                              const char *value, int aux)
> +{
> +       return syscall(__NR_fsconfig, fd, cmd, key, value, aux);
> +}
> +
> +static inline int sys_fsmount(int fd, unsigned int flags,
> +                             unsigned int attr_flags)
> +{
> +       return syscall(__NR_fsmount, fd, flags, attr_flags);
> +}
> +
> +static inline int sys_mount(const char *src, const char *tgt, const char *fst,
> +                           unsigned long flags, const void *data)
> +{
> +       return syscall(__NR_mount, src, tgt, fst, flags, data);
> +}
> +
> +static inline int sys_move_mount(int from_dfd, const char *from_pathname,
> +                                int to_dfd, const char *to_pathname,
> +                                unsigned int flags)
> +{
> +       return syscall(__NR_move_mount, from_dfd, from_pathname, to_dfd,
> +                      to_pathname, flags);
> +}
> +
> +#endif
>
> --
> 2.45.2
>
diff mbox series

Patch

diff --git a/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c b/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
index 2862aae58b79acbe175ab6b36b42798bb99a2225..3b796264223f81fc753d0adaeccc04077023520b 100644
--- a/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
+++ b/tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c
@@ -17,32 +17,7 @@ 
 
 #include "../../kselftest.h"
 #include "log.h"
-
-static int sys_fsopen(const char *fsname, unsigned int flags)
-{
-	return syscall(__NR_fsopen, fsname, flags);
-}
-
-static int sys_fsconfig(int fd, unsigned int cmd, const char *key, const char *value, int aux)
-{
-	return syscall(__NR_fsconfig, fd, cmd, key, value, aux);
-}
-
-static int sys_fsmount(int fd, unsigned int flags, unsigned int attr_flags)
-{
-	return syscall(__NR_fsmount, fd, flags, attr_flags);
-}
-static int sys_mount(const char *src, const char *tgt, const char *fst,
-		unsigned long flags, const void *data)
-{
-	return syscall(__NR_mount, src, tgt, fst, flags, data);
-}
-static int sys_move_mount(int from_dfd, const char *from_pathname,
-			  int to_dfd, const char *to_pathname,
-			  unsigned int flags)
-{
-	return syscall(__NR_move_mount, from_dfd, from_pathname, to_dfd, to_pathname, flags);
-}
+#include "wrappers.h"
 
 static long get_file_dev_and_inode(void *addr, struct statx *stx)
 {
diff --git a/tools/testing/selftests/filesystems/overlayfs/wrappers.h b/tools/testing/selftests/filesystems/overlayfs/wrappers.h
new file mode 100644
index 0000000000000000000000000000000000000000..4f99e10f7f018fd9a7be5263f68d34807da4c53c
--- /dev/null
+++ b/tools/testing/selftests/filesystems/overlayfs/wrappers.h
@@ -0,0 +1,43 @@ 
+// SPDX-License-Identifier: GPL-2.0
+//
+#ifndef __SELFTEST_OVERLAYFS_WRAPPERS_H__
+#define __SELFTEST_OVERLAYFS_WRAPPERS_H__
+
+#define _GNU_SOURCE
+
+#include <linux/types.h>
+#include <linux/mount.h>
+#include <sys/syscall.h>
+
+static inline int sys_fsopen(const char *fsname, unsigned int flags)
+{
+	return syscall(__NR_fsopen, fsname, flags);
+}
+
+static inline int sys_fsconfig(int fd, unsigned int cmd, const char *key,
+			       const char *value, int aux)
+{
+	return syscall(__NR_fsconfig, fd, cmd, key, value, aux);
+}
+
+static inline int sys_fsmount(int fd, unsigned int flags,
+			      unsigned int attr_flags)
+{
+	return syscall(__NR_fsmount, fd, flags, attr_flags);
+}
+
+static inline int sys_mount(const char *src, const char *tgt, const char *fst,
+			    unsigned long flags, const void *data)
+{
+	return syscall(__NR_mount, src, tgt, fst, flags, data);
+}
+
+static inline int sys_move_mount(int from_dfd, const char *from_pathname,
+				 int to_dfd, const char *to_pathname,
+				 unsigned int flags)
+{
+	return syscall(__NR_move_mount, from_dfd, from_pathname, to_dfd,
+		       to_pathname, flags);
+}
+
+#endif