提交 90c07c89 编写于 作者: T Tejun Heo 提交者: Greg Kroah-Hartman

kernfs: rename kernfs_dir_ops to kernfs_syscall_ops

We're gonna need non-dir syscall callbacks, which will make dir_ops a
misnomer.  Let's rename kernfs_dir_ops to kernfs_syscall_ops.

This is pure rename.
Signed-off-by: NTejun Heo <tj@kernel.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 07c7530d
...@@ -527,13 +527,14 @@ EXPORT_SYMBOL_GPL(kernfs_find_and_get_ns); ...@@ -527,13 +527,14 @@ EXPORT_SYMBOL_GPL(kernfs_find_and_get_ns);
/** /**
* kernfs_create_root - create a new kernfs hierarchy * kernfs_create_root - create a new kernfs hierarchy
* @kdops: optional directory syscall operations for the hierarchy * @scops: optional syscall operations for the hierarchy
* @priv: opaque data associated with the new directory * @priv: opaque data associated with the new directory
* *
* Returns the root of the new hierarchy on success, ERR_PTR() value on * Returns the root of the new hierarchy on success, ERR_PTR() value on
* failure. * failure.
*/ */
struct kernfs_root *kernfs_create_root(struct kernfs_dir_ops *kdops, void *priv) struct kernfs_root *kernfs_create_root(struct kernfs_syscall_ops *scops,
void *priv)
{ {
struct kernfs_root *root; struct kernfs_root *root;
struct kernfs_node *kn; struct kernfs_node *kn;
...@@ -556,7 +557,7 @@ struct kernfs_root *kernfs_create_root(struct kernfs_dir_ops *kdops, void *priv) ...@@ -556,7 +557,7 @@ struct kernfs_root *kernfs_create_root(struct kernfs_dir_ops *kdops, void *priv)
kn->priv = priv; kn->priv = priv;
kn->dir.root = root; kn->dir.root = root;
root->dir_ops = kdops; root->syscall_ops = scops;
root->kn = kn; root->kn = kn;
init_waitqueue_head(&root->deactivate_waitq); init_waitqueue_head(&root->deactivate_waitq);
...@@ -653,16 +654,16 @@ static int kernfs_iop_mkdir(struct inode *dir, struct dentry *dentry, ...@@ -653,16 +654,16 @@ static int kernfs_iop_mkdir(struct inode *dir, struct dentry *dentry,
umode_t mode) umode_t mode)
{ {
struct kernfs_node *parent = dir->i_private; struct kernfs_node *parent = dir->i_private;
struct kernfs_dir_ops *kdops = kernfs_root(parent)->dir_ops; struct kernfs_syscall_ops *scops = kernfs_root(parent)->syscall_ops;
int ret; int ret;
if (!kdops || !kdops->mkdir) if (!scops || !scops->mkdir)
return -EPERM; return -EPERM;
if (!kernfs_get_active(parent)) if (!kernfs_get_active(parent))
return -ENODEV; return -ENODEV;
ret = kdops->mkdir(parent, dentry->d_name.name, mode); ret = scops->mkdir(parent, dentry->d_name.name, mode);
kernfs_put_active(parent); kernfs_put_active(parent);
return ret; return ret;
...@@ -671,16 +672,16 @@ static int kernfs_iop_mkdir(struct inode *dir, struct dentry *dentry, ...@@ -671,16 +672,16 @@ static int kernfs_iop_mkdir(struct inode *dir, struct dentry *dentry,
static int kernfs_iop_rmdir(struct inode *dir, struct dentry *dentry) static int kernfs_iop_rmdir(struct inode *dir, struct dentry *dentry)
{ {
struct kernfs_node *kn = dentry->d_fsdata; struct kernfs_node *kn = dentry->d_fsdata;
struct kernfs_dir_ops *kdops = kernfs_root(kn)->dir_ops; struct kernfs_syscall_ops *scops = kernfs_root(kn)->syscall_ops;
int ret; int ret;
if (!kdops || !kdops->rmdir) if (!scops || !scops->rmdir)
return -EPERM; return -EPERM;
if (!kernfs_get_active(kn)) if (!kernfs_get_active(kn))
return -ENODEV; return -ENODEV;
ret = kdops->rmdir(kn); ret = scops->rmdir(kn);
kernfs_put_active(kn); kernfs_put_active(kn);
return ret; return ret;
...@@ -691,10 +692,10 @@ static int kernfs_iop_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -691,10 +692,10 @@ static int kernfs_iop_rename(struct inode *old_dir, struct dentry *old_dentry,
{ {
struct kernfs_node *kn = old_dentry->d_fsdata; struct kernfs_node *kn = old_dentry->d_fsdata;
struct kernfs_node *new_parent = new_dir->i_private; struct kernfs_node *new_parent = new_dir->i_private;
struct kernfs_dir_ops *kdops = kernfs_root(kn)->dir_ops; struct kernfs_syscall_ops *scops = kernfs_root(kn)->syscall_ops;
int ret; int ret;
if (!kdops || !kdops->rename) if (!scops || !scops->rename)
return -EPERM; return -EPERM;
if (!kernfs_get_active(kn)) if (!kernfs_get_active(kn))
...@@ -705,7 +706,7 @@ static int kernfs_iop_rename(struct inode *old_dir, struct dentry *old_dentry, ...@@ -705,7 +706,7 @@ static int kernfs_iop_rename(struct inode *old_dir, struct dentry *old_dentry,
return -ENODEV; return -ENODEV;
} }
ret = kdops->rename(kn, new_parent, new_dentry->d_name.name); ret = scops->rename(kn, new_parent, new_dentry->d_name.name);
kernfs_put_active(new_parent); kernfs_put_active(new_parent);
kernfs_put_active(kn); kernfs_put_active(kn);
......
...@@ -108,13 +108,13 @@ struct kernfs_node { ...@@ -108,13 +108,13 @@ struct kernfs_node {
}; };
/* /*
* kernfs_dir_ops may be specified on kernfs_create_root() to support * kernfs_syscall_ops may be specified on kernfs_create_root() to support
* directory manipulation syscalls. These optional callbacks are invoked * syscalls. These optional callbacks are invoked on the matching syscalls
* on the matching syscalls and can perform any kernfs operations which * and can perform any kernfs operations which don't necessarily have to be
* don't necessarily have to be the exact operation requested. An active * the exact operation requested. An active reference is held for each
* reference is held for each kernfs_node parameter. * kernfs_node parameter.
*/ */
struct kernfs_dir_ops { struct kernfs_syscall_ops {
int (*mkdir)(struct kernfs_node *parent, const char *name, int (*mkdir)(struct kernfs_node *parent, const char *name,
umode_t mode); umode_t mode);
int (*rmdir)(struct kernfs_node *kn); int (*rmdir)(struct kernfs_node *kn);
...@@ -128,7 +128,7 @@ struct kernfs_root { ...@@ -128,7 +128,7 @@ struct kernfs_root {
/* private fields, do not use outside kernfs proper */ /* private fields, do not use outside kernfs proper */
struct ida ino_ida; struct ida ino_ida;
struct kernfs_dir_ops *dir_ops; struct kernfs_syscall_ops *syscall_ops;
wait_queue_head_t deactivate_waitq; wait_queue_head_t deactivate_waitq;
}; };
...@@ -219,7 +219,7 @@ struct kernfs_node *kernfs_find_and_get_ns(struct kernfs_node *parent, ...@@ -219,7 +219,7 @@ struct kernfs_node *kernfs_find_and_get_ns(struct kernfs_node *parent,
void kernfs_get(struct kernfs_node *kn); void kernfs_get(struct kernfs_node *kn);
void kernfs_put(struct kernfs_node *kn); void kernfs_put(struct kernfs_node *kn);
struct kernfs_root *kernfs_create_root(struct kernfs_dir_ops *kdops, struct kernfs_root *kernfs_create_root(struct kernfs_syscall_ops *scops,
void *priv); void *priv);
void kernfs_destroy_root(struct kernfs_root *root); void kernfs_destroy_root(struct kernfs_root *root);
...@@ -273,7 +273,7 @@ static inline void kernfs_get(struct kernfs_node *kn) { } ...@@ -273,7 +273,7 @@ static inline void kernfs_get(struct kernfs_node *kn) { }
static inline void kernfs_put(struct kernfs_node *kn) { } static inline void kernfs_put(struct kernfs_node *kn) { }
static inline struct kernfs_root * static inline struct kernfs_root *
kernfs_create_root(struct kernfs_dir_ops *kdops, void *priv) kernfs_create_root(struct kernfs_syscall_ops *scops, void *priv)
{ return ERR_PTR(-ENOSYS); } { return ERR_PTR(-ENOSYS); }
static inline void kernfs_destroy_root(struct kernfs_root *root) { } static inline void kernfs_destroy_root(struct kernfs_root *root) { }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册