diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2010-09-27 15:58:11 +0100 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2010-09-27 15:58:11 +0100 |
commit | d0795f912318f65b800c6b619d749c3bf7c930fb (patch) | |
tree | c3d13ab5e4864306cc215d4dd6b6cecb1e33d77b /fs/gfs2/recovery.c | |
parent | c80dbb58f9c3f84372e37dfe80b41810052ad62f (diff) | |
download | op-kernel-dev-d0795f912318f65b800c6b619d749c3bf7c930fb.zip op-kernel-dev-d0795f912318f65b800c6b619d749c3bf7c930fb.tar.gz |
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.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/gfs2/recovery.c b/fs/gfs2/recovery.c index f7f89a9..666548e 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); |