diff mbox series

[RFC,02/16] fs: add mnt_ns_empty() helper

Message ID 20250221-brauner-open_tree-v1-2-dbcfcb98c676@kernel.org (mailing list archive)
State New
Headers show
Series fs: expand abilities of anonymous mount namespaces | expand

Commit Message

Christian Brauner Feb. 21, 2025, 1:13 p.m. UTC
Add a helper that checks whether a give mount namespace is empty instead
of open-coding the specific data structure check. This also be will be
used in follow-up patches.

Signed-off-by: Christian Brauner <brauner@kernel.org>
---
 fs/mount.h     | 5 +++++
 fs/namespace.c | 4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/fs/mount.h b/fs/mount.h
index 820a79f1f735..e2501a724688 100644
--- a/fs/mount.h
+++ b/fs/mount.h
@@ -157,6 +157,11 @@  static inline bool mnt_ns_attached(const struct mount *mnt)
 	return !RB_EMPTY_NODE(&mnt->mnt_node);
 }
 
+static inline bool mnt_ns_empty(const struct mnt_namespace *ns)
+{
+	return RB_EMPTY_ROOT(&ns->mounts);
+}
+
 static inline void move_from_ns(struct mount *mnt, struct list_head *dt_list)
 {
 	struct mnt_namespace *ns = mnt->mnt_ns;
diff --git a/fs/namespace.c b/fs/namespace.c
index 9bcfb405b02b..1d3b524ef878 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -5313,7 +5313,7 @@  static int grab_requested_root(struct mnt_namespace *ns, struct path *root)
 	 * We have to find the first mount in our ns and use that, however it
 	 * may not exist, so handle that properly.
 	 */
-	if (RB_EMPTY_ROOT(&ns->mounts))
+	if (mnt_ns_empty(ns))
 		return -ENOENT;
 
 	first = child = ns->root;
@@ -5338,7 +5338,7 @@  static int do_statmount(struct kstatmount *s, u64 mnt_id, u64 mnt_ns_id,
 	int err;
 
 	/* Has the namespace already been emptied? */
-	if (mnt_ns_id && RB_EMPTY_ROOT(&ns->mounts))
+	if (mnt_ns_id && mnt_ns_empty(ns))
 		return -ENOENT;
 
 	s->mnt = lookup_mnt_in_ns(mnt_id, ns);