gfs2: Force withdraw to replay journals and wait for it to finish
[linux-2.6-microblaze.git] / fs / gfs2 / meta_io.c
index 0c37729..4b72abc 100644 (file)
@@ -251,7 +251,8 @@ int gfs2_meta_read(struct gfs2_glock *gl, u64 blkno, int flags,
        struct buffer_head *bh, *bhs[2];
        int num = 0;
 
-       if (unlikely(gfs2_withdrawn(sdp))) {
+       if (unlikely(gfs2_withdrawn(sdp)) &&
+           (!sdp->sd_jdesc || (blkno != sdp->sd_jdesc->jd_no_addr))) {
                *bhp = NULL;
                return -EIO;
        }