Patch "sysfs: Add support for permanently empty directories to serve as mount points." has been added to the 4.0-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
sysfs: Add support for permanently empty directories to serve as mount points.
to the 4.0-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
sysfs-add-support-for-permanently-empty-directories-to-serve-as-mount-points.patch
and it can be found in the queue-4.0 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
87d2846fcf88113fae2341da1ca9a71f0d916f2cMon Sep 17 00:00:00 2001
From: "Eric W. Biederman" <[email protected]>
Date: Wed, 13 May 2015 16:31:40 -0500
Subject: sysfs: Add support for permanently empty directories to serve as mount points.
From: "Eric W. Biederman" <[email protected]>
commit 87d2846fcf88113fae2341da1ca9a71f0d916f2c upstream.
Add two functions sysfs_create_mount_point and sysfs_remove_mount_point that hang a permanently empty directory off of a kobject or remove a permanently emptpy directory hanging from a kobject. Export these new functions so modular filesystems can use them.
--- fs/sysfs/dir.c | 34 ++++++++++++++++++++++++++++++++++ include/linux/sysfs.h | 15 +++++++++++++++ 2 files changed, 49 insertions(+)
fs/sysfs/dir.c +34 -0
@@ -121,3 +121,37 @@ int sysfs_move_dir_ns(struct kobject *koreturn kernfs_rename_ns (kn, new_parent, kn->name, new_ns); } + +/** +* sysfs_create_mount_point - create an always empty directory +* @parent_kobj: kobject that will contain this always empty directory +* @name: The name of the always empty directory to add +*/ +int sysfs_create_mount_point (struct kobject *parent_kobj,const char *name) +{ +struct kernfs_node *kn, *parent = parent_kobj->sd; + + kn =kernfs_create_empty_dir (parent, name); +if (IS_ERR (kn)) { +if (PTR_ERR (kn) == -EEXIST ) +sysfs_warn_dup (parent, name); +return PTR_ERR (kn); + } + +return 0 ; +} +EXPORT_SYMBOL_GPL (sysfs_create_mount_point); + +/** +* sysfs_remove_mount_point - remove an always empty directory. +* @parent_kobj: kobject that will contain this always empty directory +* @name: The name of the always empty directory to remove +* +*/ +void sysfs_remove_mount_point (struct kobject *parent_kobj,const char *name) +{ +struct kernfs_node *parent = parent_kobj->sd; + +kernfs_remove_by_name_ns (parent, name,NULL ); +} +EXPORT_SYMBOL_GPL (sysfs_remove_mount_point);
include/linux/sysfs.h +15 -0
@@ -195,6 +195,10 @@ int __must_check sysfs_rename_dir_ns(strint __must_check sysfs_move_dir_ns (struct kobject *kobj,struct kobject *new_parent_kobj,const void *new_ns); +int __must_check sysfs_create_mount_point (struct kobject *parent_kobj, +const char *name); +void sysfs_remove_mount_point (struct kobject *parent_kobj, +const char *name); int __must_check sysfs_create_file_ns(struct kobject *kobj, const struct attribute *attr,
@@ -283,6 +287,17 @@ static inline int sysfs_move_dir_ns(strureturn 0 ; } +static inline int sysfs_create_mount_point (struct kobject *parent_kobj, +const char *name) +{ +return 0 ; +} + +static inline void sysfs_remove_mount_point (struct kobject *parent_kobj, +const char *name) +{ +} +static inline int sysfs_create_file_ns (struct kobject *kobj,const struct attribute *attr,const void *ns)
Patches currently in stable-queue which might be from [email protected] are
queue-4.0/sysfs-create-mountpoints-with-sysfs_create_mount_point.patch queue-4.0/sysfs-add-support-for-permanently-empty-directories-to-serve-as-mount-points.patch queue-4.0/mnt-update-fs_fully_visible-to-test-for-permanently-empty-directories.patch queue-4.0/mnt-refactor-the-logic-for-mounting-sysfs-and-proc-in-a-user-namespace.patch queue-4.0/mnt-modify-fs_fully_visible-to-deal-with-locked-ro-nodev-and-atime.patch queue-4.0/fs-add-helper-functions-for-permanently-empty-directories.patch queue-4.0/sysctl-allow-creating-permanently-empty-directories-that-serve-as-mountpoints.patch queue-4.0/kernfs-add-support-for-always-empty-directories.patch queue-4.0/proc-allow-creating-permanently-empty-directories-that-serve-as-mount-points.patch