kernfs: add @mode to kernfs_create_dir[_ns]()
sysfs assumed 0755 for all newly created directories and kernfs inherited it. This assumption is unnecessarily restrictive and inconsistent with kernfs_create_file[_ns](). This patch adds @mode parameter to kernfs_create_dir[_ns]() and update uses in sysfs accordingly. Among others, this will be useful for implementations of the planned ->mkdir() method. This patch doesn't introduce any behavior differences. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
c637b8acbe
commit
bb8b9d095c
@@ -639,22 +639,23 @@ void kernfs_destroy_root(struct kernfs_root *root)
|
||||
* kernfs_create_dir_ns - create a directory
|
||||
* @parent: parent in which to create a new directory
|
||||
* @name: name of the new directory
|
||||
* @mode: mode of the new directory
|
||||
* @priv: opaque data associated with the new directory
|
||||
* @ns: optional namespace tag of the directory
|
||||
*
|
||||
* Returns the created node on success, ERR_PTR() value on failure.
|
||||
*/
|
||||
struct kernfs_node *kernfs_create_dir_ns(struct kernfs_node *parent,
|
||||
const char *name, void *priv,
|
||||
const void *ns)
|
||||
const char *name, umode_t mode,
|
||||
void *priv, const void *ns)
|
||||
{
|
||||
umode_t mode = S_IFDIR | S_IRWXU | S_IRUGO | S_IXUGO;
|
||||
struct kernfs_addrm_cxt acxt;
|
||||
struct kernfs_node *kn;
|
||||
int rc;
|
||||
|
||||
/* allocate */
|
||||
kn = kernfs_new_node(kernfs_root(parent), name, mode, KERNFS_DIR);
|
||||
kn = kernfs_new_node(kernfs_root(parent), name, mode | S_IFDIR,
|
||||
KERNFS_DIR);
|
||||
if (!kn)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
|
Reference in New Issue
Block a user