Lines Matching refs:sdp
39 struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj); in gfs2_attr_show() local
41 return a->show ? a->show(sdp, buf) : 0; in gfs2_attr_show()
47 struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj); in gfs2_attr_store() local
49 return a->store ? a->store(sdp, buf, len) : len; in gfs2_attr_store()
60 static ssize_t id_show(struct gfs2_sbd *sdp, char *buf) in id_show() argument
63 MAJOR(sdp->sd_vfs->s_dev), MINOR(sdp->sd_vfs->s_dev)); in id_show()
66 static ssize_t fsname_show(struct gfs2_sbd *sdp, char *buf) in fsname_show() argument
68 return snprintf(buf, PAGE_SIZE, "%s\n", sdp->sd_fsname); in fsname_show()
71 static ssize_t uuid_show(struct gfs2_sbd *sdp, char *buf) in uuid_show() argument
73 struct super_block *s = sdp->sd_vfs; in uuid_show()
81 static ssize_t freeze_show(struct gfs2_sbd *sdp, char *buf) in freeze_show() argument
83 struct super_block *sb = sdp->sd_vfs; in freeze_show()
89 static ssize_t freeze_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in freeze_store() argument
102 error = thaw_super(sdp->sd_vfs); in freeze_store()
105 error = freeze_super(sdp->sd_vfs); in freeze_store()
112 fs_warn(sdp, "freeze %d error %d\n", n, error); in freeze_store()
119 static ssize_t withdraw_show(struct gfs2_sbd *sdp, char *buf) in withdraw_show() argument
121 unsigned int b = gfs2_withdrawn(sdp); in withdraw_show()
125 static ssize_t withdraw_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in withdraw_store() argument
139 gfs2_lm(sdp, "withdrawing from cluster at user's request\n"); in withdraw_store()
140 gfs2_withdraw(sdp); in withdraw_store()
145 static ssize_t statfs_sync_store(struct gfs2_sbd *sdp, const char *buf, in statfs_sync_store() argument
160 gfs2_statfs_sync(sdp->sd_vfs, 0); in statfs_sync_store()
164 static ssize_t quota_sync_store(struct gfs2_sbd *sdp, const char *buf, in quota_sync_store() argument
179 gfs2_quota_sync(sdp->sd_vfs, 0); in quota_sync_store()
183 static ssize_t quota_refresh_user_store(struct gfs2_sbd *sdp, const char *buf, in quota_refresh_user_store() argument
201 error = gfs2_quota_refresh(sdp, qid); in quota_refresh_user_store()
205 static ssize_t quota_refresh_group_store(struct gfs2_sbd *sdp, const char *buf, in quota_refresh_group_store() argument
223 error = gfs2_quota_refresh(sdp, qid); in quota_refresh_group_store()
227 static ssize_t demote_rq_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in demote_rq_store() argument
262 if (!test_and_set_bit(SDF_DEMOTE, &sdp->sd_flags)) in demote_rq_store()
263 fs_info(sdp, "demote interface used\n"); in demote_rq_store()
264 rv = gfs2_glock_get(sdp, glnum, glops, 0, &gl); in demote_rq_store()
304 struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj); in gfs2_sbd_release() local
306 complete(&sdp->sd_kobj_unregister); in gfs2_sbd_release()
320 static ssize_t proto_name_show(struct gfs2_sbd *sdp, char *buf) in proto_name_show() argument
322 const struct lm_lockops *ops = sdp->sd_lockstruct.ls_ops; in proto_name_show()
326 static ssize_t block_show(struct gfs2_sbd *sdp, char *buf) in block_show() argument
328 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in block_show()
338 static ssize_t block_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in block_store() argument
340 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in block_store()
352 gfs2_glock_thaw(sdp); in block_store()
359 static ssize_t wdack_show(struct gfs2_sbd *sdp, char *buf) in wdack_show() argument
361 int val = completion_done(&sdp->sd_wdack) ? 1 : 0; in wdack_show()
366 static ssize_t wdack_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in wdack_store() argument
375 !strcmp(sdp->sd_lockstruct.ls_ops->lm_proto_name, "lock_dlm")) in wdack_store()
376 complete(&sdp->sd_wdack); in wdack_store()
382 static ssize_t lkfirst_show(struct gfs2_sbd *sdp, char *buf) in lkfirst_show() argument
384 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in lkfirst_show()
388 static ssize_t lkfirst_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in lkfirst_store() argument
396 rv = wait_for_completion_killable(&sdp->sd_locking_init); in lkfirst_store()
399 spin_lock(&sdp->sd_jindex_spin); in lkfirst_store()
401 if (test_bit(SDF_NOJOURNALID, &sdp->sd_flags) == 0) in lkfirst_store()
404 if (sdp->sd_args.ar_spectator) in lkfirst_store()
406 if (sdp->sd_lockstruct.ls_ops->lm_mount == NULL) in lkfirst_store()
408 sdp->sd_lockstruct.ls_first = first; in lkfirst_store()
411 spin_unlock(&sdp->sd_jindex_spin); in lkfirst_store()
415 static ssize_t first_done_show(struct gfs2_sbd *sdp, char *buf) in first_done_show() argument
417 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in first_done_show()
421 int gfs2_recover_set(struct gfs2_sbd *sdp, unsigned jid) in gfs2_recover_set() argument
427 wait_for_completion(&sdp->sd_journal_ready); in gfs2_recover_set()
429 spin_lock(&sdp->sd_jindex_spin); in gfs2_recover_set()
438 if (!sdp->sd_jdesc) in gfs2_recover_set()
440 if (sdp->sd_jdesc->jd_jid == jid && !sdp->sd_args.ar_spectator) in gfs2_recover_set()
443 list_for_each_entry(jd, &sdp->sd_jindex_list, jd_list) { in gfs2_recover_set()
444 if (jd->jd_jid != jid && !sdp->sd_args.ar_spectator) in gfs2_recover_set()
450 spin_unlock(&sdp->sd_jindex_spin); in gfs2_recover_set()
454 static ssize_t recover_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in recover_store() argument
463 if (test_bit(SDF_NORECOVERY, &sdp->sd_flags)) { in recover_store()
468 rv = gfs2_recover_set(sdp, jid); in recover_store()
473 static ssize_t recover_done_show(struct gfs2_sbd *sdp, char *buf) in recover_done_show() argument
475 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in recover_done_show()
479 static ssize_t recover_status_show(struct gfs2_sbd *sdp, char *buf) in recover_status_show() argument
481 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in recover_status_show()
485 static ssize_t jid_show(struct gfs2_sbd *sdp, char *buf) in jid_show() argument
487 return sprintf(buf, "%d\n", sdp->sd_lockstruct.ls_jid); in jid_show()
490 static ssize_t jid_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in jid_store() argument
498 rv = wait_for_completion_killable(&sdp->sd_locking_init); in jid_store()
501 spin_lock(&sdp->sd_jindex_spin); in jid_store()
503 if (sdp->sd_lockstruct.ls_ops->lm_mount == NULL) in jid_store()
506 if (test_bit(SDF_NOJOURNALID, &sdp->sd_flags) == 0) in jid_store()
509 if (sdp->sd_args.ar_spectator && jid > 0) in jid_store()
511 sdp->sd_lockstruct.ls_jid = jid; in jid_store()
512 clear_bit(SDF_NOJOURNALID, &sdp->sd_flags); in jid_store()
514 wake_up_bit(&sdp->sd_flags, SDF_NOJOURNALID); in jid_store()
516 spin_unlock(&sdp->sd_jindex_spin); in jid_store()
550 static ssize_t quota_scale_show(struct gfs2_sbd *sdp, char *buf) in quota_scale_show() argument
553 sdp->sd_tune.gt_quota_scale_num, in quota_scale_show()
554 sdp->sd_tune.gt_quota_scale_den); in quota_scale_show()
557 static ssize_t quota_scale_store(struct gfs2_sbd *sdp, const char *buf, in quota_scale_store() argument
560 struct gfs2_tune *gt = &sdp->sd_tune; in quota_scale_store()
576 static ssize_t tune_set(struct gfs2_sbd *sdp, unsigned int *field, in tune_set() argument
579 struct gfs2_tune *gt = &sdp->sd_tune; in tune_set()
603 static ssize_t name##_show(struct gfs2_sbd *sdp, char *buf) \
605 return snprintf(buf, PAGE_SIZE, "%u\n", sdp->sd_tune.gt_##name); \
610 static ssize_t name##_store(struct gfs2_sbd *sdp, const char *buf, size_t len)\
612 return tune_set(sdp, &sdp->sd_tune.gt_##name, check_zero, buf, len); \
647 int gfs2_sys_fs_add(struct gfs2_sbd *sdp) in gfs2_sys_fs_add() argument
649 struct super_block *sb = sdp->sd_vfs; in gfs2_sys_fs_add()
656 sprintf(spectator, "SPECTATOR=%d", sdp->sd_args.ar_spectator ? 1 : 0); in gfs2_sys_fs_add()
658 init_completion(&sdp->sd_kobj_unregister); in gfs2_sys_fs_add()
659 sdp->sd_kobj.kset = gfs2_kset; in gfs2_sys_fs_add()
660 error = kobject_init_and_add(&sdp->sd_kobj, &gfs2_ktype, NULL, in gfs2_sys_fs_add()
661 "%s", sdp->sd_table_name); in gfs2_sys_fs_add()
665 error = sysfs_create_group(&sdp->sd_kobj, &tune_group); in gfs2_sys_fs_add()
669 error = sysfs_create_group(&sdp->sd_kobj, &lock_module_group); in gfs2_sys_fs_add()
673 error = sysfs_create_link(&sdp->sd_kobj, in gfs2_sys_fs_add()
679 kobject_uevent_env(&sdp->sd_kobj, KOBJ_ADD, envp); in gfs2_sys_fs_add()
683 sysfs_remove_group(&sdp->sd_kobj, &lock_module_group); in gfs2_sys_fs_add()
685 sysfs_remove_group(&sdp->sd_kobj, &tune_group); in gfs2_sys_fs_add()
687 fs_err(sdp, "error %d adding sysfs files\n", error); in gfs2_sys_fs_add()
688 kobject_put(&sdp->sd_kobj); in gfs2_sys_fs_add()
689 wait_for_completion(&sdp->sd_kobj_unregister); in gfs2_sys_fs_add()
694 void gfs2_sys_fs_del(struct gfs2_sbd *sdp) in gfs2_sys_fs_del() argument
696 sysfs_remove_link(&sdp->sd_kobj, "device"); in gfs2_sys_fs_del()
697 sysfs_remove_group(&sdp->sd_kobj, &tune_group); in gfs2_sys_fs_del()
698 sysfs_remove_group(&sdp->sd_kobj, &lock_module_group); in gfs2_sys_fs_del()
699 kobject_put(&sdp->sd_kobj); in gfs2_sys_fs_del()
700 wait_for_completion(&sdp->sd_kobj_unregister); in gfs2_sys_fs_del()
706 struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj); in gfs2_uevent() local
707 struct super_block *s = sdp->sd_vfs; in gfs2_uevent()
709 add_uevent_var(env, "LOCKTABLE=%s", sdp->sd_table_name); in gfs2_uevent()
710 add_uevent_var(env, "LOCKPROTO=%s", sdp->sd_proto_name); in gfs2_uevent()
711 if (!test_bit(SDF_NOJOURNALID, &sdp->sd_flags)) in gfs2_uevent()
712 add_uevent_var(env, "JOURNALID=%d", sdp->sd_lockstruct.ls_jid); in gfs2_uevent()