gfs2: Clean up freeing struct gfs2_sbd
Add a free_sbd function for freeing a struct gfs2_sbd. Use that for freeing a super-block descriptor, either directly or via kobject_put. Free sd_lkstats inside the kobject release function: that way, gfs2_put_super will no longer leak sd_lkstats. Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
This commit is contained in:
@@ -301,7 +301,7 @@ static void gfs2_sbd_release(struct kobject *kobj)
|
||||
{
|
||||
struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);
|
||||
|
||||
kfree(sdp);
|
||||
free_sbd(sdp);
|
||||
}
|
||||
|
||||
static struct kobj_type gfs2_ktype = {
|
||||
@@ -679,7 +679,6 @@ fail_lock_module:
|
||||
fail_tune:
|
||||
sysfs_remove_group(&sdp->sd_kobj, &tune_group);
|
||||
fail_reg:
|
||||
free_percpu(sdp->sd_lkstats);
|
||||
fs_err(sdp, "error %d adding sysfs files\n", error);
|
||||
kobject_put(&sdp->sd_kobj);
|
||||
sb->s_fs_info = NULL;
|
||||
|
Reference in New Issue
Block a user