debugfs: simplify __debugfs_remove_file()
Move simple_unlink()+d_delete() from __debugfs_remove_file() into caller __debugfs_remove() and rename helper for post remove file to __debugfs_file_removed(). This will simplify adding fsnotify_unlink() hook. Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
parent
fd0d506f2b
commit
823e545c02
|
@ -617,13 +617,10 @@ struct dentry *debugfs_create_symlink(const char *name, struct dentry *parent,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(debugfs_create_symlink);
|
EXPORT_SYMBOL_GPL(debugfs_create_symlink);
|
||||||
|
|
||||||
static void __debugfs_remove_file(struct dentry *dentry, struct dentry *parent)
|
static void __debugfs_file_removed(struct dentry *dentry)
|
||||||
{
|
{
|
||||||
struct debugfs_fsdata *fsd;
|
struct debugfs_fsdata *fsd;
|
||||||
|
|
||||||
simple_unlink(d_inode(parent), dentry);
|
|
||||||
d_delete(dentry);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Paired with the closing smp_mb() implied by a successful
|
* Paired with the closing smp_mb() implied by a successful
|
||||||
* cmpxchg() in debugfs_file_get(): either
|
* cmpxchg() in debugfs_file_get(): either
|
||||||
|
@ -644,16 +641,15 @@ static int __debugfs_remove(struct dentry *dentry, struct dentry *parent)
|
||||||
|
|
||||||
if (simple_positive(dentry)) {
|
if (simple_positive(dentry)) {
|
||||||
dget(dentry);
|
dget(dentry);
|
||||||
if (!d_is_reg(dentry)) {
|
if (d_is_dir(dentry)) {
|
||||||
if (d_is_dir(dentry))
|
ret = simple_rmdir(d_inode(parent), dentry);
|
||||||
ret = simple_rmdir(d_inode(parent), dentry);
|
|
||||||
else
|
|
||||||
simple_unlink(d_inode(parent), dentry);
|
|
||||||
if (!ret)
|
|
||||||
d_delete(dentry);
|
|
||||||
} else {
|
} else {
|
||||||
__debugfs_remove_file(dentry, parent);
|
simple_unlink(d_inode(parent), dentry);
|
||||||
}
|
}
|
||||||
|
if (!ret)
|
||||||
|
d_delete(dentry);
|
||||||
|
if (d_is_reg(dentry))
|
||||||
|
__debugfs_file_removed(dentry);
|
||||||
dput(dentry);
|
dput(dentry);
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|
Loading…
Reference in New Issue