aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/gfs2/sys.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/fs/gfs2/sys.c b/fs/gfs2/sys.c
index 1787d295834e..08e4996adc23 100644
--- a/fs/gfs2/sys.c
+++ b/fs/gfs2/sys.c
@@ -650,7 +650,6 @@ int gfs2_sys_fs_add(struct gfs2_sbd *sdp)
650 char ro[20]; 650 char ro[20];
651 char spectator[20]; 651 char spectator[20];
652 char *envp[] = { ro, spectator, NULL }; 652 char *envp[] = { ro, spectator, NULL };
653 int sysfs_frees_sdp = 0;
654 653
655 sprintf(ro, "RDONLY=%d", sb_rdonly(sb)); 654 sprintf(ro, "RDONLY=%d", sb_rdonly(sb));
656 sprintf(spectator, "SPECTATOR=%d", sdp->sd_args.ar_spectator ? 1 : 0); 655 sprintf(spectator, "SPECTATOR=%d", sdp->sd_args.ar_spectator ? 1 : 0);
@@ -661,8 +660,6 @@ int gfs2_sys_fs_add(struct gfs2_sbd *sdp)
661 if (error) 660 if (error)
662 goto fail_reg; 661 goto fail_reg;
663 662
664 sysfs_frees_sdp = 1; /* Freeing sdp is now done by sysfs calling
665 function gfs2_sbd_release. */
666 error = sysfs_create_group(&sdp->sd_kobj, &tune_group); 663 error = sysfs_create_group(&sdp->sd_kobj, &tune_group);
667 if (error) 664 if (error)
668 goto fail_reg; 665 goto fail_reg;
@@ -687,10 +684,7 @@ fail_tune:
687fail_reg: 684fail_reg:
688 free_percpu(sdp->sd_lkstats); 685 free_percpu(sdp->sd_lkstats);
689 fs_err(sdp, "error %d adding sysfs files\n", error); 686 fs_err(sdp, "error %d adding sysfs files\n", error);
690 if (sysfs_frees_sdp) 687 kobject_put(&sdp->sd_kobj);
691 kobject_put(&sdp->sd_kobj);
692 else
693 kfree(sdp);
694 sb->s_fs_info = NULL; 688 sb->s_fs_info = NULL;
695 return error; 689 return error;
696} 690}