KVM: Remove unnecessary debugfs dentry references
KVM creates debugfs files to export VM statistics to userland. To be able to remove them on kvm exit it tracks the files' dentries. Since their parent directory is also tracked and since each parent direntry knows its children we can easily remove them by using debugfs_remove_recursive(kvm_debugfs_dir). Therefore we don't need the extra tracking in the kvm_stats_debugfs_item anymore. Signed-off-by: Janosch Frank <frankja@linux.vnet.ibm.com> Reviewed-By: Sascha Silbe <silbe@linux.vnet.ibm.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
This commit is contained in:
parent
c896939f7c
commit
4bd33b5688
2 changed files with 4 additions and 15 deletions
|
@ -1016,7 +1016,6 @@ struct kvm_stats_debugfs_item {
|
|||
const char *name;
|
||||
int offset;
|
||||
enum kvm_stat_kind kind;
|
||||
struct dentry *dentry;
|
||||
};
|
||||
extern struct kvm_stats_debugfs_item debugfs_entries[];
|
||||
extern struct dentry *kvm_debugfs_dir;
|
||||
|
|
|
@ -3447,10 +3447,9 @@ static int kvm_init_debug(void)
|
|||
goto out;
|
||||
|
||||
for (p = debugfs_entries; p->name; ++p) {
|
||||
p->dentry = debugfs_create_file(p->name, 0444, kvm_debugfs_dir,
|
||||
(void *)(long)p->offset,
|
||||
stat_fops[p->kind]);
|
||||
if (p->dentry == NULL)
|
||||
if (!debugfs_create_file(p->name, 0444, kvm_debugfs_dir,
|
||||
(void *)(long)p->offset,
|
||||
stat_fops[p->kind]))
|
||||
goto out_dir;
|
||||
}
|
||||
|
||||
|
@ -3462,15 +3461,6 @@ static int kvm_init_debug(void)
|
|||
return r;
|
||||
}
|
||||
|
||||
static void kvm_exit_debug(void)
|
||||
{
|
||||
struct kvm_stats_debugfs_item *p;
|
||||
|
||||
for (p = debugfs_entries; p->name; ++p)
|
||||
debugfs_remove(p->dentry);
|
||||
debugfs_remove(kvm_debugfs_dir);
|
||||
}
|
||||
|
||||
static int kvm_suspend(void)
|
||||
{
|
||||
if (kvm_usage_count)
|
||||
|
@ -3628,7 +3618,7 @@ EXPORT_SYMBOL_GPL(kvm_init);
|
|||
|
||||
void kvm_exit(void)
|
||||
{
|
||||
kvm_exit_debug();
|
||||
debugfs_remove_recursive(kvm_debugfs_dir);
|
||||
misc_deregister(&kvm_dev);
|
||||
kmem_cache_destroy(kvm_vcpu_cache);
|
||||
kvm_async_pf_deinit();
|
||||
|
|
Loading…
Reference in a new issue