Lines Matching defs:control_lock

349  * 10. gfs2_control updates control_lock lvb with new generation and jid bits
353 * 14. gfs2_control updates control_lock lvb jid bits for recovered journals
376 * 10. gfs2_control sets control_lock lvb = new gen + bits for failed jids
378 * 14. gfs2_control clears control_lock lvb bits for recovered jids
385 * All nodes attempt to update the control_lock lvb with the new generation
386 * number and jid bits, but only the first to get the control_lock EX will
391 * . All nodes attempt to set control_lock lvb gen + bits for the new gen
392 * . One node gets control_lock first and writes the lvb, others see it's done
393 * . All nodes attempt to recover jids for which they see control_lock bits set
432 * 2. The control_lock blocks others in control_mount() while the first
434 * A mounting node needs to acquire control_lock in EX mode before
435 * it can proceed. The first mounter holds control_lock in EX while doing
437 * control_lock to NL when it's done (others_may_mount/first_done),
441 * control_lock EX/NOQUEUE success
446 * control_lock EX->NL, write lvb generation
449 * control_lock EX/NOQUEUE success (if fail -EAGAIN, retry)
453 * control_lock EX->NL
467 * - control_lock lvb format
578 return sync_unlock(sdp, &ls->ls_control_lksb, "control_lock");
581 static int control_lock(struct gfs2_sbd *sdp, int mode, uint32_t flags)
585 &ls->ls_control_lksb, "control_lock");
668 error = control_lock(sdp, DLM_LOCK_EX, DLM_LKF_CONVERT|DLM_LKF_VALBLK);
682 control_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT);
751 error = control_lock(sdp, DLM_LOCK_NL, flags);
811 error = control_lock(sdp, DLM_LOCK_NL, DLM_LKF_VALBLK);
813 fs_err(sdp, "control_mount control_lock NL error %d\n", error);
832 * We always start with both locks in NL. control_lock is
845 * before the recover_done and control_lock will be ready for us below.
852 * Acquire control_lock in EX and mounted_lock in either EX or PR.
853 * control_lock lvb keeps track of any pending journal recoveries.
857 error = control_lock(sdp, DLM_LOCK_EX, DLM_LKF_CONVERT|DLM_LKF_NOQUEUE|DLM_LKF_VALBLK);
861 fs_err(sdp, "control_mount control_lock EX error %d\n", error);
894 * If not, then we need to wait for the control_lock lvb to be
907 fs_err(sdp, "control_mount control_lock disabled\n");
923 error = control_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT);
928 * We are not first mounter, now we need to wait for the control_lock
945 /* wait for mounted nodes to update control_lock lvb to our
962 /* wait for mounted nodes to update control_lock lvb to the
1044 error = control_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT|DLM_LKF_VALBLK);
1329 * control_mount() uses control_lock to determine first mounter,
1380 /* mounted_lock and control_lock will be purged in dlm recovery */