Lines Matching refs:sdp

41 	struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);  in gfs2_attr_show()  local
43 return a->show ? a->show(sdp, buf) : 0; in gfs2_attr_show()
49 struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj); in gfs2_attr_store() local
51 return a->store ? a->store(sdp, buf, len) : len; in gfs2_attr_store()
62 static ssize_t id_show(struct gfs2_sbd *sdp, char *buf) in id_show() argument
65 MAJOR(sdp->sd_vfs->s_dev), MINOR(sdp->sd_vfs->s_dev)); in id_show()
68 static ssize_t fsname_show(struct gfs2_sbd *sdp, char *buf) in fsname_show() argument
70 return snprintf(buf, PAGE_SIZE, "%s\n", sdp->sd_fsname); in fsname_show()
84 static ssize_t uuid_show(struct gfs2_sbd *sdp, char *buf) in uuid_show() argument
86 struct super_block *s = sdp->sd_vfs; in uuid_show()
94 static ssize_t freeze_show(struct gfs2_sbd *sdp, char *buf) in freeze_show() argument
96 struct super_block *sb = sdp->sd_vfs; in freeze_show()
102 static ssize_t freeze_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in freeze_store() argument
115 error = thaw_super(sdp->sd_vfs); in freeze_store()
118 error = freeze_super(sdp->sd_vfs); in freeze_store()
125 fs_warn(sdp, "freeze %d error %d", n, error); in freeze_store()
132 static ssize_t withdraw_show(struct gfs2_sbd *sdp, char *buf) in withdraw_show() argument
134 unsigned int b = test_bit(SDF_SHUTDOWN, &sdp->sd_flags); in withdraw_show()
138 static ssize_t withdraw_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in withdraw_store() argument
152 gfs2_lm_withdraw(sdp, "withdrawing from cluster at user's request\n"); in withdraw_store()
157 static ssize_t statfs_sync_store(struct gfs2_sbd *sdp, const char *buf, in statfs_sync_store() argument
172 gfs2_statfs_sync(sdp->sd_vfs, 0); in statfs_sync_store()
176 static ssize_t quota_sync_store(struct gfs2_sbd *sdp, const char *buf, in quota_sync_store() argument
191 gfs2_quota_sync(sdp->sd_vfs, 0); in quota_sync_store()
195 static ssize_t quota_refresh_user_store(struct gfs2_sbd *sdp, const char *buf, in quota_refresh_user_store() argument
213 error = gfs2_quota_refresh(sdp, qid); in quota_refresh_user_store()
217 static ssize_t quota_refresh_group_store(struct gfs2_sbd *sdp, const char *buf, in quota_refresh_group_store() argument
235 error = gfs2_quota_refresh(sdp, qid); in quota_refresh_group_store()
239 static ssize_t demote_rq_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in demote_rq_store() argument
274 if (!test_and_set_bit(SDF_DEMOTE, &sdp->sd_flags)) in demote_rq_store()
275 fs_info(sdp, "demote interface used\n"); in demote_rq_store()
276 rv = gfs2_glock_get(sdp, glnum, glops, 0, &gl); in demote_rq_store()
315 struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj); in gfs2_sbd_release() local
317 kfree(sdp); in gfs2_sbd_release()
331 static ssize_t proto_name_show(struct gfs2_sbd *sdp, char *buf) in proto_name_show() argument
333 const struct lm_lockops *ops = sdp->sd_lockstruct.ls_ops; in proto_name_show()
337 static ssize_t block_show(struct gfs2_sbd *sdp, char *buf) in block_show() argument
339 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in block_show()
349 static ssize_t block_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in block_store() argument
351 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in block_store()
363 gfs2_glock_thaw(sdp); in block_store()
370 static ssize_t wdack_show(struct gfs2_sbd *sdp, char *buf) in wdack_show() argument
372 int val = completion_done(&sdp->sd_wdack) ? 1 : 0; in wdack_show()
377 static ssize_t wdack_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in wdack_store() argument
386 !strcmp(sdp->sd_lockstruct.ls_ops->lm_proto_name, "lock_dlm")) in wdack_store()
387 complete(&sdp->sd_wdack); in wdack_store()
393 static ssize_t lkfirst_show(struct gfs2_sbd *sdp, char *buf) in lkfirst_show() argument
395 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in lkfirst_show()
399 static ssize_t lkfirst_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in lkfirst_store() argument
407 rv = wait_for_completion_killable(&sdp->sd_locking_init); in lkfirst_store()
410 spin_lock(&sdp->sd_jindex_spin); in lkfirst_store()
412 if (test_bit(SDF_NOJOURNALID, &sdp->sd_flags) == 0) in lkfirst_store()
415 if (sdp->sd_args.ar_spectator) in lkfirst_store()
417 if (sdp->sd_lockstruct.ls_ops->lm_mount == NULL) in lkfirst_store()
419 sdp->sd_lockstruct.ls_first = first; in lkfirst_store()
422 spin_unlock(&sdp->sd_jindex_spin); in lkfirst_store()
426 static ssize_t first_done_show(struct gfs2_sbd *sdp, char *buf) in first_done_show() argument
428 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in first_done_show()
432 int gfs2_recover_set(struct gfs2_sbd *sdp, unsigned jid) in gfs2_recover_set() argument
438 wait_for_completion(&sdp->sd_journal_ready); in gfs2_recover_set()
440 spin_lock(&sdp->sd_jindex_spin); in gfs2_recover_set()
442 if (sdp->sd_jdesc->jd_jid == jid) in gfs2_recover_set()
445 list_for_each_entry(jd, &sdp->sd_jindex_list, jd_list) { in gfs2_recover_set()
452 spin_unlock(&sdp->sd_jindex_spin); in gfs2_recover_set()
456 static ssize_t recover_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in recover_store() argument
465 if (test_bit(SDF_NORECOVERY, &sdp->sd_flags)) { in recover_store()
470 rv = gfs2_recover_set(sdp, jid); in recover_store()
475 static ssize_t recover_done_show(struct gfs2_sbd *sdp, char *buf) in recover_done_show() argument
477 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in recover_done_show()
481 static ssize_t recover_status_show(struct gfs2_sbd *sdp, char *buf) in recover_status_show() argument
483 struct lm_lockstruct *ls = &sdp->sd_lockstruct; in recover_status_show()
487 static ssize_t jid_show(struct gfs2_sbd *sdp, char *buf) in jid_show() argument
489 return sprintf(buf, "%d\n", sdp->sd_lockstruct.ls_jid); in jid_show()
492 static ssize_t jid_store(struct gfs2_sbd *sdp, const char *buf, size_t len) in jid_store() argument
500 rv = wait_for_completion_killable(&sdp->sd_locking_init); in jid_store()
503 spin_lock(&sdp->sd_jindex_spin); in jid_store()
505 if (sdp->sd_lockstruct.ls_ops->lm_mount == NULL) in jid_store()
508 if (test_bit(SDF_NOJOURNALID, &sdp->sd_flags) == 0) in jid_store()
511 if (sdp->sd_args.ar_spectator && jid > 0) in jid_store()
513 sdp->sd_lockstruct.ls_jid = jid; in jid_store()
514 clear_bit(SDF_NOJOURNALID, &sdp->sd_flags); in jid_store()
516 wake_up_bit(&sdp->sd_flags, SDF_NOJOURNALID); in jid_store()
518 spin_unlock(&sdp->sd_jindex_spin); in jid_store()
552 static ssize_t quota_scale_show(struct gfs2_sbd *sdp, char *buf) in quota_scale_show() argument
555 sdp->sd_tune.gt_quota_scale_num, in quota_scale_show()
556 sdp->sd_tune.gt_quota_scale_den); in quota_scale_show()
559 static ssize_t quota_scale_store(struct gfs2_sbd *sdp, const char *buf, in quota_scale_store() argument
562 struct gfs2_tune *gt = &sdp->sd_tune; in quota_scale_store()
578 static ssize_t tune_set(struct gfs2_sbd *sdp, unsigned int *field, in tune_set() argument
581 struct gfs2_tune *gt = &sdp->sd_tune; in tune_set()
605 static ssize_t name##_show(struct gfs2_sbd *sdp, char *buf) \
607 return snprintf(buf, PAGE_SIZE, "%u\n", sdp->sd_tune.gt_##name); \
612 static ssize_t name##_store(struct gfs2_sbd *sdp, const char *buf, size_t len)\
614 return tune_set(sdp, &sdp->sd_tune.gt_##name, check_zero, buf, len); \
649 int gfs2_sys_fs_add(struct gfs2_sbd *sdp) in gfs2_sys_fs_add() argument
651 struct super_block *sb = sdp->sd_vfs; in gfs2_sys_fs_add()
659 sprintf(spectator, "SPECTATOR=%d", sdp->sd_args.ar_spectator ? 1 : 0); in gfs2_sys_fs_add()
661 sdp->sd_kobj.kset = gfs2_kset; in gfs2_sys_fs_add()
662 error = kobject_init_and_add(&sdp->sd_kobj, &gfs2_ktype, NULL, in gfs2_sys_fs_add()
663 "%s", sdp->sd_table_name); in gfs2_sys_fs_add()
669 error = sysfs_create_group(&sdp->sd_kobj, &tune_group); in gfs2_sys_fs_add()
673 error = sysfs_create_group(&sdp->sd_kobj, &lock_module_group); in gfs2_sys_fs_add()
677 error = sysfs_create_link(&sdp->sd_kobj, in gfs2_sys_fs_add()
683 kobject_uevent_env(&sdp->sd_kobj, KOBJ_ADD, envp); in gfs2_sys_fs_add()
687 sysfs_remove_group(&sdp->sd_kobj, &lock_module_group); in gfs2_sys_fs_add()
689 sysfs_remove_group(&sdp->sd_kobj, &tune_group); in gfs2_sys_fs_add()
691 free_percpu(sdp->sd_lkstats); in gfs2_sys_fs_add()
692 fs_err(sdp, "error %d adding sysfs files", error); in gfs2_sys_fs_add()
694 kobject_put(&sdp->sd_kobj); in gfs2_sys_fs_add()
696 kfree(sdp); in gfs2_sys_fs_add()
701 void gfs2_sys_fs_del(struct gfs2_sbd *sdp) in gfs2_sys_fs_del() argument
703 sysfs_remove_link(&sdp->sd_kobj, "device"); in gfs2_sys_fs_del()
704 sysfs_remove_group(&sdp->sd_kobj, &tune_group); in gfs2_sys_fs_del()
705 sysfs_remove_group(&sdp->sd_kobj, &lock_module_group); in gfs2_sys_fs_del()
706 kobject_put(&sdp->sd_kobj); in gfs2_sys_fs_del()
712 struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj); in gfs2_uevent() local
713 struct super_block *s = sdp->sd_vfs; in gfs2_uevent()
716 add_uevent_var(env, "LOCKTABLE=%s", sdp->sd_table_name); in gfs2_uevent()
717 add_uevent_var(env, "LOCKPROTO=%s", sdp->sd_proto_name); in gfs2_uevent()
718 if (!test_bit(SDF_NOJOURNALID, &sdp->sd_flags)) in gfs2_uevent()
719 add_uevent_var(env, "JOURNALID=%d", sdp->sd_lockstruct.ls_jid); in gfs2_uevent()