[PATCH] gfs2: Fix error handling in init_statfs()

From: Jing Xiangfeng
Date: Mon Jun 28 2021 - 07:07:17 EST


In an error path of init_statfs(), it calls iput to put pn which has been
put. Jump to correct label to fix it.

Fixes: 97fd734ba17e ("gfs2: lookup local statfs inodes prior to journal recovery")
Signed-off-by: Jing Xiangfeng <jingxiangfeng@xxxxxxxxxx>
---
fs/gfs2/ops_fstype.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index 826f77d9cff5..e9ebab1af62f 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -692,7 +692,8 @@ static int init_statfs(struct gfs2_sbd *sdp)
&sdp->sd_sc_gh);
if (error) {
fs_err(sdp, "can't lock local \"sc\" file: %d\n", error);
- goto free_local;
+ free_local_statfs_inodes(sdp);
+ goto put_statfs;
}
return 0;

--
2.26.0.106.g9fadedd