summaryrefslogtreecommitdiffstats
path: root/fs/gfs2/recovery.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2010-09-27 15:58:11 +0100
committerSteven Whitehouse <swhiteho@redhat.com>2010-09-27 15:58:11 +0100
commitd0795f912318f65b800c6b619d749c3bf7c930fb (patch)
treec3d13ab5e4864306cc215d4dd6b6cecb1e33d77b /fs/gfs2/recovery.c
parentc80dbb58f9c3f84372e37dfe80b41810052ad62f (diff)
downloadlinux-d0795f912318f65b800c6b619d749c3bf7c930fb.tar.gz
linux-d0795f912318f65b800c6b619d749c3bf7c930fb.tar.bz2
linux-d0795f912318f65b800c6b619d749c3bf7c930fb.zip
GFS2: Fix journal check for spectator mounts
When checking journals for spectator mounts, we cannot rely on the journal being locked, whatever its jid might be. This patch ensures that we always get the journal locks when checking journals for a spectator mount. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/recovery.c')
-rw-r--r--fs/gfs2/recovery.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/gfs2/recovery.c b/fs/gfs2/recovery.c
index f7f89a94a5a4..666548e14596 100644
--- a/fs/gfs2/recovery.c
+++ b/fs/gfs2/recovery.c
@@ -456,7 +456,8 @@ void gfs2_recover_func(struct work_struct *work)
unsigned int pass;
int error;
- if (jd->jd_jid != sdp->sd_lockstruct.ls_jid) {
+ if (sdp->sd_args.ar_spectator ||
+ (jd->jd_jid != sdp->sd_lockstruct.ls_jid)) {
fs_info(sdp, "jid=%u: Trying to acquire journal lock...\n",
jd->jd_jid);