diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2009-01-20 19:39:23 +0300 |
---|---|---|
committer | Steven Whitehouse <steve@dolmen.chygwyn.com> | 2009-03-24 14:21:17 +0300 |
commit | e7c8707ea2b9106f0f78c43348ff5d5e82ba7961 (patch) | |
tree | 0e2de02adb03b9adccc1e8997782cc8c7561d8e8 | |
parent | ac2425e7d319dec0523e52ee120a158ce6668cbd (diff) | |
download | linux-e7c8707ea2b9106f0f78c43348ff5d5e82ba7961.tar.xz |
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@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Tested-by: Robert Peterson <rpeterso@redhat.com>
-rw-r--r-- | fs/gfs2/ops_fstype.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index 95bb33e41a76..e502b379a4da 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); |