[Cluster-devel] GFS2: Fix error path ref counting for root inode

Steven Whitehouse swhiteho at redhat.com
Tue Jan 20 17:45:56 UTC 2009


>From 11a89c63956b880200d988eff59f355acfc4d545 Mon Sep 17 00:00:00 2001
From: Steven Whitehouse <swhiteho at redhat.com>
Date: Tue, 20 Jan 2009 16:39:23 +0000
Subject: [PATCH] GFS2: Fix error path ref counting for root inode

We were keeping hold of an extra ref to the root inode in one
of the error paths, that resulted in a hang.

Reported-by: Nate Straz <nstraz at redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho at redhat.com>
Tested-by: Robert Peterson <rpeterso at redhat.com>

diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index 95bb33e..e502b37 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -1258,6 +1258,8 @@ fail_sb:
 		dput(sdp->sd_root_dir);
 	if (sdp->sd_master_dir)
 		dput(sdp->sd_master_dir);
+	if (sb->s_root)
+		dput(sb->s_root);
 	sb->s_root = NULL;
 fail_locking:
 	init_locking(sdp, &mount_gh, UNDO);
-- 
1.6.0.3






More information about the Cluster-devel mailing list