summaryrefslogtreecommitdiff
path: root/fs/gfs2/sys.c
diff options
context:
space:
mode:
authorBob Peterson <rpeterso@redhat.com>2014-06-02 17:40:25 +0400
committerSteven Whitehouse <swhiteho@redhat.com>2014-06-02 22:12:06 +0400
commit0e48e055a7dfc0cf17bbabe4d9b523ee0b1a9ed6 (patch)
tree735690948db93970fda788ca9be1e859eed760d9 /fs/gfs2/sys.c
parent9dd868e1c009fa1c51bf8d349cda77e0188189fd (diff)
downloadlinux-0e48e055a7dfc0cf17bbabe4d9b523ee0b1a9ed6.tar.xz
GFS2: Prevent recovery before the local journal is set
This patch uses a completion to prevent dlm's recovery process from referencing and trying to recover a journal before a journal has been opened. Signed-off-by: Bob Peterson <rpeterso@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/sys.c')
-rw-r--r--fs/gfs2/sys.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/gfs2/sys.c b/fs/gfs2/sys.c
index 7bc17edcb51f..0e049f9574b5 100644
--- a/fs/gfs2/sys.c
+++ b/fs/gfs2/sys.c
@@ -407,6 +407,9 @@ int gfs2_recover_set(struct gfs2_sbd *sdp, unsigned jid)
struct gfs2_jdesc *jd;
int rv;
+ /* Wait for our primary journal to be initialized */
+ wait_for_completion(&sdp->sd_journal_ready);
+
spin_lock(&sdp->sd_jindex_spin);
rv = -EBUSY;
if (sdp->sd_jdesc->jd_jid == jid)