summaryrefslogtreecommitdiffstats
path: root/fs/gfs2/sys.c
diff options
context:
space:
mode:
authorBob Peterson2014-06-02 15:40:25 +0200
committerSteven Whitehouse2014-06-02 20:12:06 +0200
commit0e48e055a7dfc0cf17bbabe4d9b523ee0b1a9ed6 (patch)
tree735690948db93970fda788ca9be1e859eed760d9 /fs/gfs2/sys.c
parentGFS2: fs/gfs2/file.c: kernel-doc warning fixes (diff)
downloadkernel-qcow2-linux-0e48e055a7dfc0cf17bbabe4d9b523ee0b1a9ed6.tar.gz
kernel-qcow2-linux-0e48e055a7dfc0cf17bbabe4d9b523ee0b1a9ed6.tar.xz
kernel-qcow2-linux-0e48e055a7dfc0cf17bbabe4d9b523ee0b1a9ed6.zip
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)