sysfs, kernfs: implement kernfs_ns_enabled()
fs/sysfs/symlink.c::sysfs_delete_link() tests @sd->s_flags for
SYSFS_FLAG_NS. Let's add kernfs_ns_enabled() so that sysfs doesn't
have to test sysfs_dirent flag directly. This makes things tidier for
kernfs proper too.
This is purely cosmetic.
v2: To avoid possible NULL deref, use noop dummy implementation which
always returns false when !CONFIG_SYSFS.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h
index faaf4f2..d655413 100644
--- a/include/linux/kernfs.h
+++ b/include/linux/kernfs.h
@@ -190,6 +190,17 @@
sd->s_flags |= SYSFS_FLAG_NS;
}
+/**
+ * kernfs_ns_enabled - test whether namespace is enabled
+ * @sd: the node to test
+ *
+ * Test whether namespace filtering is enabled for the children of @ns.
+ */
+static inline bool kernfs_ns_enabled(struct sysfs_dirent *sd)
+{
+ return sd->s_flags & SYSFS_FLAG_NS;
+}
+
struct sysfs_dirent *kernfs_find_and_get_ns(struct sysfs_dirent *parent,
const char *name, const void *ns);
void kernfs_get(struct sysfs_dirent *sd);
@@ -232,6 +243,9 @@
static inline void kernfs_enable_ns(struct sysfs_dirent *sd) { }
+static inline bool kernfs_ns_enabled(struct sysfs_dirent *sd)
+{ return false; }
+
static inline struct sysfs_dirent *
kernfs_find_and_get_ns(struct sysfs_dirent *parent, const char *name,
const void *ns)