On 3/14/23 11:39, Zorro Lang wrote:
On Mon, Mar 13, 2023 at 08:03:30PM +0100, Rodrigo Campos wrote:
This patch calls all tests in the suite s_idmapped_mounts, but with a
tmpfs directory mounted inside a userns. This directory is setup as the
mount point for the test that runs nested.
This excercises that tmpfs mounted inside a userns works as expected
regarding idmap mounts.
Signed-off-by: Rodrigo Campos <rodrigo@xxxxxxxxxxx>
---
src/vfs/Makefile | 4 +-
src/vfs/tmpfs-idmapped-mounts.c | 305 ++++++++++++++++++++++++++++++++
src/vfs/tmpfs-idmapped-mounts.h | 15 ++
src/vfs/utils.h | 2 +
src/vfs/vfstest.c | 13 +-
tests/tmpfs/001 | 27 +++
tests/tmpfs/001.out | 2 +
tests/tmpfs/Makefile | 24 +++
8 files changed, 389 insertions(+), 3 deletions(-)
create mode 100644 src/vfs/tmpfs-idmapped-mounts.c
create mode 100644 src/vfs/tmpfs-idmapped-mounts.h
create mode 100755 tests/tmpfs/001
create mode 100644 tests/tmpfs/001.out
create mode 100644 tests/tmpfs/Makefile
[snip]
diff --git src/vfs/tmpfs-idmapped-mounts.h src/vfs/tmpfs-idmapped-mounts.h
new file mode 100644
index 00000000..038d86a9
--- /dev/null
+++ src/vfs/tmpfs-idmapped-mounts.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef __TMPFS_IDMAPPED_MOUNTS_H
+#define __TMPFS_IDMAPPED_MOUNTS_H
+
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
+#include "utils.h"
+
+extern const struct test_suite s_tmpfs_idmapped_mounts;
+
+#endif /* __TMPFS_IDMAPPED_MOUNTS_H */
+
^^
A blank line at EOF
Removed, thanks!
diff --git src/vfs/utils.h src/vfs/utils.h
index f1681737..872fd96f 100644
--- src/vfs/utils.h
+++ src/vfs/utils.h
@@ -45,6 +45,8 @@
#define DIR2 "dir2"
#define DIR3 "dir3"
[snip]
diff --git tests/tmpfs/Makefile tests/tmpfs/Makefile
new file mode 100644
index 00000000..b464b22b
--- /dev/null
+++ tests/tmpfs/Makefile
@@ -0,0 +1,24 @@
+#
+# Copyright (c) 2003-2005 Silicon Graphics, Inc. All Rights Reserved.
Is the copyright what you want?
Heh, no. I'll correct it, thanks!
+#
+
+TOPDIR = ../..
+include $(TOPDIR)/include/builddefs
+include $(TOPDIR)/include/buildgrouplist
+
+GENERIC_DIR = generic
+TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GENERIC_DIR)
Above two lines are wrong, that'll cause tmpfs/001 can't be installed correctly.
You can change them to:
TMPFS_DIR = tmpfs
TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(TMPFS_DIR)
Oh, I haven't tried the install. Fixed this now, tested it with a
different prefix and seems to work fine.
Best,
Rodrigo