Lines Matching refs:sdp
192 static int make_mode(struct gfs2_sbd *sdp, const unsigned int lmstate)
204 fs_err(sdp, "unknown LM state %d\n", lmstate);
290 struct gfs2_sbd *sdp = gl->gl_name.ln_sbd;
291 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
307 if (test_bit(SDF_SKIP_DLM_UNLOCK, &sdp->sd_flags) &&
320 fs_err(sdp, "gdlm_unlock %x,%llx err=%d\n",
509 static int sync_unlock(struct gfs2_sbd *sdp, struct dlm_lksb *lksb, char *name)
511 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
516 fs_err(sdp, "%s lkid %x error %d\n",
524 fs_err(sdp, "%s lkid %x status %d\n",
531 static int sync_lock(struct gfs2_sbd *sdp, int mode, uint32_t flags,
534 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
545 fs_err(sdp, "%s lkid %x flags %x mode %d error %d\n",
555 fs_err(sdp, "%s lkid %x flags %x mode %d status %d\n",
562 static int mounted_unlock(struct gfs2_sbd *sdp)
564 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
565 return sync_unlock(sdp, &ls->ls_mounted_lksb, "mounted_lock");
568 static int mounted_lock(struct gfs2_sbd *sdp, int mode, uint32_t flags)
570 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
571 return sync_lock(sdp, mode, flags, GFS2_MOUNTED_LOCK,
575 static int control_unlock(struct gfs2_sbd *sdp)
577 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
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)
583 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
584 return sync_lock(sdp, mode, flags, GFS2_CONTROL_LOCK,
590 * @sdp: The superblock
592 static void remote_withdraw(struct gfs2_sbd *sdp)
597 list_for_each_entry(jd, &sdp->sd_jindex_list, jd_list) {
598 if (jd->jd_jid == sdp->sd_lockstruct.ls_jid)
607 fs_err(sdp, "Journals checked: %d, ret = %d.\n", count, ret);
612 struct gfs2_sbd *sdp = container_of(work, struct gfs2_sbd, sd_control_work.work);
613 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
621 if (test_bit(SDF_REMOTE_WITHDRAW, &sdp->sd_flags)) {
622 remote_withdraw(sdp);
623 clear_bit(SDF_REMOTE_WITHDRAW, &sdp->sd_flags);
668 error = control_lock(sdp, DLM_LOCK_EX, DLM_LKF_CONVERT|DLM_LKF_VALBLK);
670 fs_err(sdp, "control lock EX error %d\n", error);
679 fs_info(sdp, "recover generation %u block1 %u %u\n",
682 control_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT);
751 error = control_lock(sdp, DLM_LOCK_NL, flags);
753 fs_err(sdp, "control lock NL error %d\n", error);
766 fs_info(sdp, "recover generation %u jid %d\n",
768 gfs2_recover_set(sdp, i);
786 fs_info(sdp, "recover generation %u done\n", start_gen);
787 gfs2_glock_thaw(sdp);
789 fs_info(sdp, "recover generation %u block2 %u %u\n",
795 static int control_mount(struct gfs2_sbd *sdp)
797 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
811 error = control_lock(sdp, DLM_LOCK_NL, DLM_LKF_VALBLK);
813 fs_err(sdp, "control_mount control_lock NL error %d\n", error);
817 error = mounted_lock(sdp, DLM_LOCK_NL, 0);
819 fs_err(sdp, "control_mount mounted_lock NL error %d\n", error);
820 control_unlock(sdp);
837 error = mounted_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT);
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);
869 if (sdp->sd_args.ar_spectator)
872 error = mounted_lock(sdp, DLM_LOCK_EX, DLM_LKF_CONVERT|DLM_LKF_NOQUEUE);
877 fs_err(sdp, "control_mount mounted_lock EX error %d\n", error);
881 error = mounted_lock(sdp, DLM_LOCK_PR, DLM_LKF_CONVERT|DLM_LKF_NOQUEUE);
887 fs_err(sdp, "control_mount mounted_lock PR error %d\n", error);
907 fs_err(sdp, "control_mount control_lock disabled\n");
919 fs_info(sdp, "first mounter control generation %u\n", lvb_gen);
923 error = control_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT);
935 fs_info(sdp, "control_mount wait for journal recovery\n");
947 if (sdp->sd_args.ar_spectator) {
948 fs_info(sdp, "Recovery is required. Waiting for a "
952 fs_info(sdp, "control_mount wait1 block %u start %u "
964 fs_info(sdp, "control_mount wait2 block %u start %u mount %u "
973 fs_info(sdp, "control_mount wait3 block %u start %u mount %u "
988 mounted_unlock(sdp);
989 control_unlock(sdp);
993 static int control_first_done(struct gfs2_sbd *sdp)
995 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1008 fs_err(sdp, "control_first_done start %u block %u flags %lx\n",
1011 control_unlock(sdp);
1024 fs_info(sdp, "control_first_done wait gen %u\n", start_gen);
1040 error = mounted_lock(sdp, DLM_LOCK_PR, DLM_LKF_CONVERT);
1042 fs_err(sdp, "control_first_done mounted PR error %d\n", error);
1044 error = control_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT|DLM_LKF_VALBLK);
1046 fs_err(sdp, "control_first_done control NL error %d\n", error);
1059 static int set_recover_size(struct gfs2_sbd *sdp, struct dlm_slot *slots,
1062 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1122 struct gfs2_sbd *sdp = arg;
1123 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1125 if (gfs2_withdrawn(sdp)) {
1126 fs_err(sdp, "recover_prep ignored due to withdraw.\n");
1147 struct gfs2_sbd *sdp = arg;
1148 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1151 if (gfs2_withdrawn(sdp)) {
1152 fs_err(sdp, "recover_slot jid %d ignored due to withdraw.\n",
1158 fs_err(sdp, "recover_slot jid %d gen %u short size %d\n",
1165 fs_info(sdp, "recover_slot jid %d gen %u prev %u\n",
1177 struct gfs2_sbd *sdp = arg;
1178 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1180 if (gfs2_withdrawn(sdp)) {
1181 fs_err(sdp, "recover_done ignored due to withdraw.\n");
1185 set_recover_size(sdp, slots, num_slots);
1196 queue_delayed_work(gfs2_control_wq, &sdp->sd_control_work, 0);
1206 static void gdlm_recovery_result(struct gfs2_sbd *sdp, unsigned int jid,
1209 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1211 if (gfs2_withdrawn(sdp)) {
1212 fs_err(sdp, "recovery_result jid %d ignored due to withdraw.\n",
1229 fs_err(sdp, "recovery_result jid %d short size %d\n",
1235 fs_info(sdp, "recover jid %d result %s\n", jid,
1245 queue_delayed_work(gfs2_control_wq, &sdp->sd_control_work,
1256 static int gdlm_mount(struct gfs2_sbd *sdp, const char *table)
1258 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1268 INIT_DELAYED_WORK(&sdp->sd_control_work, gfs2_control_func);
1279 error = set_recover_size(sdp, NULL, 0);
1289 fs_info(sdp, "no fsname found\n");
1304 &gdlm_lockspace_ops, sdp, &ops_result,
1307 fs_err(sdp, "dlm_new_lockspace error %d\n", error);
1316 fs_info(sdp, "dlm lockspace ops not used\n");
1322 if (!test_bit(SDF_NOJOURNALID, &sdp->sd_flags)) {
1323 fs_err(sdp, "dlm lockspace ops disallow jid preset\n");
1333 error = control_mount(sdp);
1335 fs_err(sdp, "mount control error %d\n", error);
1340 clear_bit(SDF_NOJOURNALID, &sdp->sd_flags);
1342 wake_up_bit(&sdp->sd_flags, SDF_NOJOURNALID);
1353 static void gdlm_first_done(struct gfs2_sbd *sdp)
1355 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1361 error = control_first_done(sdp);
1363 fs_err(sdp, "mount first_done error %d\n", error);
1366 static void gdlm_unmount(struct gfs2_sbd *sdp)
1368 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1378 flush_delayed_work(&sdp->sd_control_work);