Lines Matching refs:sdp
189 static int make_mode(struct gfs2_sbd *sdp, const unsigned int lmstate)
201 fs_err(sdp, "unknown LM state %d\n", lmstate);
285 struct gfs2_sbd *sdp = gl->gl_name.ln_sbd;
286 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
306 if (test_bit(SDF_SKIP_DLM_UNLOCK, &sdp->sd_flags) &&
315 fs_err(sdp, "gdlm_unlock %x,%llx err=%d\n",
501 static int sync_unlock(struct gfs2_sbd *sdp, struct dlm_lksb *lksb, char *name)
503 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
508 fs_err(sdp, "%s lkid %x error %d\n",
516 fs_err(sdp, "%s lkid %x status %d\n",
523 static int sync_lock(struct gfs2_sbd *sdp, int mode, uint32_t flags,
526 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
537 fs_err(sdp, "%s lkid %x flags %x mode %d error %d\n",
547 fs_err(sdp, "%s lkid %x flags %x mode %d status %d\n",
554 static int mounted_unlock(struct gfs2_sbd *sdp)
556 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
557 return sync_unlock(sdp, &ls->ls_mounted_lksb, "mounted_lock");
560 static int mounted_lock(struct gfs2_sbd *sdp, int mode, uint32_t flags)
562 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
563 return sync_lock(sdp, mode, flags, GFS2_MOUNTED_LOCK,
567 static int control_unlock(struct gfs2_sbd *sdp)
569 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
570 return sync_unlock(sdp, &ls->ls_control_lksb, "control_lock");
573 static int control_lock(struct gfs2_sbd *sdp, int mode, uint32_t flags)
575 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
576 return sync_lock(sdp, mode, flags, GFS2_CONTROL_LOCK,
582 * @sdp: The superblock
584 static void remote_withdraw(struct gfs2_sbd *sdp)
589 list_for_each_entry(jd, &sdp->sd_jindex_list, jd_list) {
590 if (jd->jd_jid == sdp->sd_lockstruct.ls_jid)
599 fs_err(sdp, "Journals checked: %d, ret = %d.\n", count, ret);
604 struct gfs2_sbd *sdp = container_of(work, struct gfs2_sbd, sd_control_work.work);
605 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
613 if (test_bit(SDF_REMOTE_WITHDRAW, &sdp->sd_flags)) {
614 remote_withdraw(sdp);
615 clear_bit(SDF_REMOTE_WITHDRAW, &sdp->sd_flags);
660 error = control_lock(sdp, DLM_LOCK_EX, DLM_LKF_CONVERT|DLM_LKF_VALBLK);
662 fs_err(sdp, "control lock EX error %d\n", error);
671 fs_info(sdp, "recover generation %u block1 %u %u\n",
674 control_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT);
743 error = control_lock(sdp, DLM_LOCK_NL, flags);
745 fs_err(sdp, "control lock NL error %d\n", error);
758 fs_info(sdp, "recover generation %u jid %d\n",
760 gfs2_recover_set(sdp, i);
778 fs_info(sdp, "recover generation %u done\n", start_gen);
779 gfs2_glock_thaw(sdp);
781 fs_info(sdp, "recover generation %u block2 %u %u\n",
787 static int control_mount(struct gfs2_sbd *sdp)
789 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
803 error = control_lock(sdp, DLM_LOCK_NL, DLM_LKF_VALBLK);
805 fs_err(sdp, "control_mount control_lock NL error %d\n", error);
809 error = mounted_lock(sdp, DLM_LOCK_NL, 0);
811 fs_err(sdp, "control_mount mounted_lock NL error %d\n", error);
812 control_unlock(sdp);
829 error = mounted_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT);
849 error = control_lock(sdp, DLM_LOCK_EX, DLM_LKF_CONVERT|DLM_LKF_NOQUEUE|DLM_LKF_VALBLK);
853 fs_err(sdp, "control_mount control_lock EX error %d\n", error);
861 if (sdp->sd_args.ar_spectator)
864 error = mounted_lock(sdp, DLM_LOCK_EX, DLM_LKF_CONVERT|DLM_LKF_NOQUEUE);
869 fs_err(sdp, "control_mount mounted_lock EX error %d\n", error);
873 error = mounted_lock(sdp, DLM_LOCK_PR, DLM_LKF_CONVERT|DLM_LKF_NOQUEUE);
879 fs_err(sdp, "control_mount mounted_lock PR error %d\n", error);
899 fs_err(sdp, "control_mount control_lock disabled\n");
911 fs_info(sdp, "first mounter control generation %u\n", lvb_gen);
915 error = control_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT);
927 fs_info(sdp, "control_mount wait for journal recovery\n");
939 if (sdp->sd_args.ar_spectator) {
940 fs_info(sdp, "Recovery is required. Waiting for a "
944 fs_info(sdp, "control_mount wait1 block %u start %u "
956 fs_info(sdp, "control_mount wait2 block %u start %u mount %u "
965 fs_info(sdp, "control_mount wait3 block %u start %u mount %u "
980 mounted_unlock(sdp);
981 control_unlock(sdp);
985 static int control_first_done(struct gfs2_sbd *sdp)
987 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1000 fs_err(sdp, "control_first_done start %u block %u flags %lx\n",
1003 control_unlock(sdp);
1016 fs_info(sdp, "control_first_done wait gen %u\n", start_gen);
1032 error = mounted_lock(sdp, DLM_LOCK_PR, DLM_LKF_CONVERT);
1034 fs_err(sdp, "control_first_done mounted PR error %d\n", error);
1036 error = control_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT|DLM_LKF_VALBLK);
1038 fs_err(sdp, "control_first_done control NL error %d\n", error);
1051 static int set_recover_size(struct gfs2_sbd *sdp, struct dlm_slot *slots,
1054 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1114 struct gfs2_sbd *sdp = arg;
1115 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1117 if (gfs2_withdrawn(sdp)) {
1118 fs_err(sdp, "recover_prep ignored due to withdraw.\n");
1139 struct gfs2_sbd *sdp = arg;
1140 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1143 if (gfs2_withdrawn(sdp)) {
1144 fs_err(sdp, "recover_slot jid %d ignored due to withdraw.\n",
1150 fs_err(sdp, "recover_slot jid %d gen %u short size %d\n",
1157 fs_info(sdp, "recover_slot jid %d gen %u prev %u\n",
1169 struct gfs2_sbd *sdp = arg;
1170 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1172 if (gfs2_withdrawn(sdp)) {
1173 fs_err(sdp, "recover_done ignored due to withdraw.\n");
1177 set_recover_size(sdp, slots, num_slots);
1188 queue_delayed_work(gfs2_control_wq, &sdp->sd_control_work, 0);
1198 static void gdlm_recovery_result(struct gfs2_sbd *sdp, unsigned int jid,
1201 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1203 if (gfs2_withdrawn(sdp)) {
1204 fs_err(sdp, "recovery_result jid %d ignored due to withdraw.\n",
1221 fs_err(sdp, "recovery_result jid %d short size %d\n",
1227 fs_info(sdp, "recover jid %d result %s\n", jid,
1237 queue_delayed_work(gfs2_control_wq, &sdp->sd_control_work,
1248 static int gdlm_mount(struct gfs2_sbd *sdp, const char *table)
1250 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1260 INIT_DELAYED_WORK(&sdp->sd_control_work, gfs2_control_func);
1271 error = set_recover_size(sdp, NULL, 0);
1281 fs_info(sdp, "no fsname found\n");
1296 &gdlm_lockspace_ops, sdp, &ops_result,
1299 fs_err(sdp, "dlm_new_lockspace error %d\n", error);
1308 fs_info(sdp, "dlm lockspace ops not used\n");
1314 if (!test_bit(SDF_NOJOURNALID, &sdp->sd_flags)) {
1315 fs_err(sdp, "dlm lockspace ops disallow jid preset\n");
1325 error = control_mount(sdp);
1327 fs_err(sdp, "mount control error %d\n", error);
1332 clear_bit(SDF_NOJOURNALID, &sdp->sd_flags);
1334 wake_up_bit(&sdp->sd_flags, SDF_NOJOURNALID);
1345 static void gdlm_first_done(struct gfs2_sbd *sdp)
1347 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1353 error = control_first_done(sdp);
1355 fs_err(sdp, "mount first_done error %d\n", error);
1358 static void gdlm_unmount(struct gfs2_sbd *sdp)
1360 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
1370 flush_delayed_work(&sdp->sd_control_work);