Lines Matching refs:sdp

284 	struct gfs2_sbd *sdp = gl->gl_name.ln_sbd;  in gdlm_put_lock()  local
285 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in gdlm_put_lock()
304 if (test_bit(SDF_SKIP_DLM_UNLOCK, &sdp->sd_flags) && in gdlm_put_lock()
498 static int sync_unlock(struct gfs2_sbd *sdp, struct dlm_lksb *lksb, char *name) in sync_unlock() argument
500 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in sync_unlock()
505 fs_err(sdp, "%s lkid %x error %d\n", in sync_unlock()
513 fs_err(sdp, "%s lkid %x status %d\n", in sync_unlock()
520 static int sync_lock(struct gfs2_sbd *sdp, int mode, uint32_t flags, in sync_lock() argument
523 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in sync_lock()
534 fs_err(sdp, "%s lkid %x flags %x mode %d error %d\n", in sync_lock()
544 fs_err(sdp, "%s lkid %x flags %x mode %d status %d\n", in sync_lock()
551 static int mounted_unlock(struct gfs2_sbd *sdp) in mounted_unlock() argument
553 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in mounted_unlock()
554 return sync_unlock(sdp, &ls->ls_mounted_lksb, "mounted_lock"); in mounted_unlock()
557 static int mounted_lock(struct gfs2_sbd *sdp, int mode, uint32_t flags) in mounted_lock() argument
559 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in mounted_lock()
560 return sync_lock(sdp, mode, flags, GFS2_MOUNTED_LOCK, in mounted_lock()
564 static int control_unlock(struct gfs2_sbd *sdp) in control_unlock() argument
566 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in control_unlock()
567 return sync_unlock(sdp, &ls->ls_control_lksb, "control_lock"); in control_unlock()
570 static int control_lock(struct gfs2_sbd *sdp, int mode, uint32_t flags) in control_lock() argument
572 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in control_lock()
573 return sync_lock(sdp, mode, flags, GFS2_CONTROL_LOCK, in control_lock()
579 struct gfs2_sbd *sdp = container_of(work, struct gfs2_sbd, sd_control_work.work); in gfs2_control_func() local
580 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in gfs2_control_func()
628 error = control_lock(sdp, DLM_LOCK_EX, DLM_LKF_CONVERT|DLM_LKF_VALBLK); in gfs2_control_func()
630 fs_err(sdp, "control lock EX error %d\n", error); in gfs2_control_func()
639 fs_info(sdp, "recover generation %u block1 %u %u\n", in gfs2_control_func()
642 control_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT); in gfs2_control_func()
711 error = control_lock(sdp, DLM_LOCK_NL, flags); in gfs2_control_func()
713 fs_err(sdp, "control lock NL error %d\n", error); in gfs2_control_func()
726 fs_info(sdp, "recover generation %u jid %d\n", in gfs2_control_func()
728 gfs2_recover_set(sdp, i); in gfs2_control_func()
746 fs_info(sdp, "recover generation %u done\n", start_gen); in gfs2_control_func()
747 gfs2_glock_thaw(sdp); in gfs2_control_func()
749 fs_info(sdp, "recover generation %u block2 %u %u\n", in gfs2_control_func()
755 static int control_mount(struct gfs2_sbd *sdp) in control_mount() argument
757 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in control_mount()
771 error = control_lock(sdp, DLM_LOCK_NL, DLM_LKF_VALBLK); in control_mount()
773 fs_err(sdp, "control_mount control_lock NL error %d\n", error); in control_mount()
777 error = mounted_lock(sdp, DLM_LOCK_NL, 0); in control_mount()
779 fs_err(sdp, "control_mount mounted_lock NL error %d\n", error); in control_mount()
780 control_unlock(sdp); in control_mount()
797 error = mounted_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT); in control_mount()
817 error = control_lock(sdp, DLM_LOCK_EX, DLM_LKF_CONVERT|DLM_LKF_NOQUEUE|DLM_LKF_VALBLK); in control_mount()
821 fs_err(sdp, "control_mount control_lock EX error %d\n", error); in control_mount()
825 error = mounted_lock(sdp, DLM_LOCK_EX, DLM_LKF_CONVERT|DLM_LKF_NOQUEUE); in control_mount()
830 fs_err(sdp, "control_mount mounted_lock EX error %d\n", error); in control_mount()
834 error = mounted_lock(sdp, DLM_LOCK_PR, DLM_LKF_CONVERT|DLM_LKF_NOQUEUE); in control_mount()
840 fs_err(sdp, "control_mount mounted_lock PR error %d\n", error); in control_mount()
860 fs_err(sdp, "control_mount control_lock disabled\n"); in control_mount()
872 fs_info(sdp, "first mounter control generation %u\n", lvb_gen); in control_mount()
876 error = control_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT); in control_mount()
888 fs_info(sdp, "control_mount wait for journal recovery\n"); in control_mount()
900 fs_info(sdp, "control_mount wait1 block %u start %u mount %u " in control_mount()
910 fs_info(sdp, "control_mount wait2 block %u start %u mount %u " in control_mount()
919 fs_info(sdp, "control_mount wait3 block %u start %u mount %u " in control_mount()
934 mounted_unlock(sdp); in control_mount()
935 control_unlock(sdp); in control_mount()
939 static int control_first_done(struct gfs2_sbd *sdp) in control_first_done() argument
941 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in control_first_done()
954 fs_err(sdp, "control_first_done start %u block %u flags %lx\n", in control_first_done()
957 control_unlock(sdp); in control_first_done()
970 fs_info(sdp, "control_first_done wait gen %u\n", start_gen); in control_first_done()
986 error = mounted_lock(sdp, DLM_LOCK_PR, DLM_LKF_CONVERT); in control_first_done()
988 fs_err(sdp, "control_first_done mounted PR error %d\n", error); in control_first_done()
990 error = control_lock(sdp, DLM_LOCK_NL, DLM_LKF_CONVERT|DLM_LKF_VALBLK); in control_first_done()
992 fs_err(sdp, "control_first_done control NL error %d\n", error); in control_first_done()
1005 static int set_recover_size(struct gfs2_sbd *sdp, struct dlm_slot *slots, in set_recover_size() argument
1008 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in set_recover_size()
1067 struct gfs2_sbd *sdp = arg; in gdlm_recover_prep() local
1068 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in gdlm_recover_prep()
1088 struct gfs2_sbd *sdp = arg; in gdlm_recover_slot() local
1089 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in gdlm_recover_slot()
1094 fs_err(sdp, "recover_slot jid %d gen %u short size %d", in gdlm_recover_slot()
1101 fs_info(sdp, "recover_slot jid %d gen %u prev %u\n", in gdlm_recover_slot()
1113 struct gfs2_sbd *sdp = arg; in gdlm_recover_done() local
1114 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in gdlm_recover_done()
1117 set_recover_size(sdp, slots, num_slots); in gdlm_recover_done()
1128 queue_delayed_work(gfs2_control_wq, &sdp->sd_control_work, 0); in gdlm_recover_done()
1138 static void gdlm_recovery_result(struct gfs2_sbd *sdp, unsigned int jid, in gdlm_recovery_result() argument
1141 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in gdlm_recovery_result()
1156 fs_err(sdp, "recovery_result jid %d short size %d", in gdlm_recovery_result()
1162 fs_info(sdp, "recover jid %d result %s\n", jid, in gdlm_recovery_result()
1172 queue_delayed_work(gfs2_control_wq, &sdp->sd_control_work, in gdlm_recovery_result()
1183 static int gdlm_mount(struct gfs2_sbd *sdp, const char *table) in gdlm_mount() argument
1185 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in gdlm_mount()
1195 INIT_DELAYED_WORK(&sdp->sd_control_work, gfs2_control_func); in gdlm_mount()
1206 error = set_recover_size(sdp, NULL, 0); in gdlm_mount()
1216 fs_info(sdp, "no fsname found\n"); in gdlm_mount()
1231 &gdlm_lockspace_ops, sdp, &ops_result, in gdlm_mount()
1234 fs_err(sdp, "dlm_new_lockspace error %d\n", error); in gdlm_mount()
1243 fs_info(sdp, "dlm lockspace ops not used\n"); in gdlm_mount()
1249 if (!test_bit(SDF_NOJOURNALID, &sdp->sd_flags)) { in gdlm_mount()
1250 fs_err(sdp, "dlm lockspace ops disallow jid preset\n"); in gdlm_mount()
1260 error = control_mount(sdp); in gdlm_mount()
1262 fs_err(sdp, "mount control error %d\n", error); in gdlm_mount()
1267 clear_bit(SDF_NOJOURNALID, &sdp->sd_flags); in gdlm_mount()
1269 wake_up_bit(&sdp->sd_flags, SDF_NOJOURNALID); in gdlm_mount()
1280 static void gdlm_first_done(struct gfs2_sbd *sdp) in gdlm_first_done() argument
1282 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in gdlm_first_done()
1288 error = control_first_done(sdp); in gdlm_first_done()
1290 fs_err(sdp, "mount first_done error %d\n", error); in gdlm_first_done()
1293 static void gdlm_unmount(struct gfs2_sbd *sdp) in gdlm_unmount() argument
1295 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in gdlm_unmount()
1305 flush_delayed_work(&sdp->sd_control_work); in gdlm_unmount()