GFS2: Reinstate withdraw ack system
[platform/adaptation/renesas_rcar/renesas_kernel.git] / fs / gfs2 / util.c
index f00d7c5..6402fb6 100644 (file)
@@ -54,6 +54,9 @@ int gfs2_lm_withdraw(struct gfs2_sbd *sdp, char *fmt, ...)
 
                kobject_uevent(&sdp->sd_kobj, KOBJ_OFFLINE);
 
+               if (!strcmp(sdp->sd_lockstruct.ls_ops->lm_proto_name, "lock_dlm"))
+                       wait_for_completion(&sdp->sd_wdack);
+
                if (lm->lm_unmount) {
                        fs_err(sdp, "telling LM to unmount\n");
                        lm->lm_unmount(sdp);