Lines Matching defs:sdp

39 	struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);
41 return a->show ? a->show(sdp, buf) : 0;
47 struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);
49 return a->store ? a->store(sdp, buf, len) : len;
60 static ssize_t id_show(struct gfs2_sbd *sdp, char *buf)
63 MAJOR(sdp->sd_vfs->s_dev), MINOR(sdp->sd_vfs->s_dev));
66 static ssize_t status_show(struct gfs2_sbd *sdp, char *buf)
68 unsigned long f = sdp->sd_flags;
107 (sdp->sd_jdesc ? sdp->sd_jdesc->jd_jid : 0),
108 (sdp->sd_args.ar_spectator ? 1 : 0),
114 (sb_rdonly(sdp->sd_vfs) ? 1 : 0),
125 sdp->sd_log_error,
126 rwsem_is_locked(&sdp->sd_log_flush_lock),
127 sdp->sd_log_num_revoke,
128 atomic_read(&sdp->sd_log_in_flight),
129 atomic_read(&sdp->sd_log_blks_needed),
130 atomic_read(&sdp->sd_log_blks_free),
131 sdp->sd_log_flush_head,
132 sdp->sd_log_flush_tail,
133 sdp->sd_log_blks_reserved,
134 atomic_read(&sdp->sd_log_revokes_available),
135 atomic_read(&sdp->sd_log_pinned),
136 atomic_read(&sdp->sd_log_thresh1),
137 atomic_read(&sdp->sd_log_thresh2));
141 static ssize_t fsname_show(struct gfs2_sbd *sdp, char *buf)
143 return snprintf(buf, PAGE_SIZE, "%s\n", sdp->sd_fsname);
146 static ssize_t uuid_show(struct gfs2_sbd *sdp, char *buf)
148 struct super_block *s = sdp->sd_vfs;
156 static ssize_t freeze_show(struct gfs2_sbd *sdp, char *buf)
158 struct super_block *sb = sdp->sd_vfs;
164 static ssize_t freeze_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
177 error = thaw_super(sdp->sd_vfs, FREEZE_HOLDER_USERSPACE);
180 error = freeze_super(sdp->sd_vfs, FREEZE_HOLDER_USERSPACE);
187 fs_warn(sdp, "freeze %d error %d\n", n, error);
194 static ssize_t withdraw_show(struct gfs2_sbd *sdp, char *buf)
196 unsigned int b = gfs2_withdrawing_or_withdrawn(sdp);
200 static ssize_t withdraw_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
214 gfs2_lm(sdp, "withdrawing from cluster at user's request\n");
215 gfs2_withdraw(sdp);
220 static ssize_t statfs_sync_store(struct gfs2_sbd *sdp, const char *buf,
235 gfs2_statfs_sync(sdp->sd_vfs, 0);
239 static ssize_t quota_sync_store(struct gfs2_sbd *sdp, const char *buf,
254 gfs2_quota_sync(sdp->sd_vfs, 0);
258 static ssize_t quota_refresh_user_store(struct gfs2_sbd *sdp, const char *buf,
276 error = gfs2_quota_refresh(sdp, qid);
280 static ssize_t quota_refresh_group_store(struct gfs2_sbd *sdp, const char *buf,
298 error = gfs2_quota_refresh(sdp, qid);
302 static ssize_t demote_rq_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
337 if (!test_and_set_bit(SDF_DEMOTE, &sdp->sd_flags))
338 fs_info(sdp, "demote interface used\n");
339 rv = gfs2_glock_get(sdp, glnum, glops, 0, &gl);
381 struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);
383 complete(&sdp->sd_kobj_unregister);
397 static ssize_t proto_name_show(struct gfs2_sbd *sdp, char *buf)
399 const struct lm_lockops *ops = sdp->sd_lockstruct.ls_ops;
403 static ssize_t block_show(struct gfs2_sbd *sdp, char *buf)
405 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
415 static ssize_t block_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
417 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
429 gfs2_glock_thaw(sdp);
436 static ssize_t wdack_show(struct gfs2_sbd *sdp, char *buf)
438 int val = completion_done(&sdp->sd_wdack) ? 1 : 0;
443 static ssize_t wdack_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
452 !strcmp(sdp->sd_lockstruct.ls_ops->lm_proto_name, "lock_dlm"))
453 complete(&sdp->sd_wdack);
459 static ssize_t lkfirst_show(struct gfs2_sbd *sdp, char *buf)
461 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
465 static ssize_t lkfirst_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
473 rv = wait_for_completion_killable(&sdp->sd_locking_init);
476 spin_lock(&sdp->sd_jindex_spin);
478 if (test_bit(SDF_NOJOURNALID, &sdp->sd_flags) == 0)
481 if (sdp->sd_args.ar_spectator)
483 if (sdp->sd_lockstruct.ls_ops->lm_mount == NULL)
485 sdp->sd_lockstruct.ls_first = first;
488 spin_unlock(&sdp->sd_jindex_spin);
492 static ssize_t first_done_show(struct gfs2_sbd *sdp, char *buf)
494 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
498 int gfs2_recover_set(struct gfs2_sbd *sdp, unsigned jid)
504 wait_for_completion(&sdp->sd_journal_ready);
506 spin_lock(&sdp->sd_jindex_spin);
515 if (!sdp->sd_jdesc)
517 if (sdp->sd_jdesc->jd_jid == jid && !sdp->sd_args.ar_spectator)
520 list_for_each_entry(jd, &sdp->sd_jindex_list, jd_list) {
521 if (jd->jd_jid != jid && !sdp->sd_args.ar_spectator)
527 spin_unlock(&sdp->sd_jindex_spin);
531 static ssize_t recover_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
540 if (test_bit(SDF_NORECOVERY, &sdp->sd_flags)) {
545 rv = gfs2_recover_set(sdp, jid);
550 static ssize_t recover_done_show(struct gfs2_sbd *sdp, char *buf)
552 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
556 static ssize_t recover_status_show(struct gfs2_sbd *sdp, char *buf)
558 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
562 static ssize_t jid_show(struct gfs2_sbd *sdp, char *buf)
564 return sprintf(buf, "%d\n", sdp->sd_lockstruct.ls_jid);
567 static ssize_t jid_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
575 rv = wait_for_completion_killable(&sdp->sd_locking_init);
578 spin_lock(&sdp->sd_jindex_spin);
580 if (sdp->sd_lockstruct.ls_ops->lm_mount == NULL)
583 if (test_bit(SDF_NOJOURNALID, &sdp->sd_flags) == 0)
586 if (sdp->sd_args.ar_spectator && jid > 0)
588 sdp->sd_lockstruct.ls_jid = jid;
589 clear_bit(SDF_NOJOURNALID, &sdp->sd_flags);
591 wake_up_bit(&sdp->sd_flags, SDF_NOJOURNALID);
593 spin_unlock(&sdp->sd_jindex_spin);
627 static ssize_t quota_scale_show(struct gfs2_sbd *sdp, char *buf)
630 sdp->sd_tune.gt_quota_scale_num,
631 sdp->sd_tune.gt_quota_scale_den);
634 static ssize_t quota_scale_store(struct gfs2_sbd *sdp, const char *buf,
637 struct gfs2_tune *gt = &sdp->sd_tune;
653 static ssize_t tune_set(struct gfs2_sbd *sdp, unsigned int *field,
656 struct gfs2_tune *gt = &sdp->sd_tune;
680 static ssize_t name##_show(struct gfs2_sbd *sdp, char *buf) \
682 return snprintf(buf, PAGE_SIZE, "%u\n", sdp->sd_tune.gt_##name); \
687 static ssize_t name##_store(struct gfs2_sbd *sdp, const char *buf, size_t len)\
689 return tune_set(sdp, &sdp->sd_tune.gt_##name, check_zero, buf, len); \
724 int gfs2_sys_fs_add(struct gfs2_sbd *sdp)
726 struct super_block *sb = sdp->sd_vfs;
733 sprintf(spectator, "SPECTATOR=%d", sdp->sd_args.ar_spectator ? 1 : 0);
735 init_completion(&sdp->sd_kobj_unregister);
736 sdp->sd_kobj.kset = gfs2_kset;
737 error = kobject_init_and_add(&sdp->sd_kobj, &gfs2_ktype, NULL,
738 "%s", sdp->sd_table_name);
742 error = sysfs_create_group(&sdp->sd_kobj, &tune_group);
746 error = sysfs_create_group(&sdp->sd_kobj, &lock_module_group);
750 error = sysfs_create_link(&sdp->sd_kobj,
756 kobject_uevent_env(&sdp->sd_kobj, KOBJ_ADD, envp);
760 sysfs_remove_group(&sdp->sd_kobj, &lock_module_group);
762 sysfs_remove_group(&sdp->sd_kobj, &tune_group);
764 fs_err(sdp, "error %d adding sysfs files\n", error);
765 kobject_put(&sdp->sd_kobj);
766 wait_for_completion(&sdp->sd_kobj_unregister);
771 void gfs2_sys_fs_del(struct gfs2_sbd *sdp)
773 sysfs_remove_link(&sdp->sd_kobj, "device");
774 sysfs_remove_group(&sdp->sd_kobj, &tune_group);
775 sysfs_remove_group(&sdp->sd_kobj, &lock_module_group);
776 kobject_put(&sdp->sd_kobj);
777 wait_for_completion(&sdp->sd_kobj_unregister);
782 const struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);
783 const struct super_block *s = sdp->sd_vfs;
785 add_uevent_var(env, "LOCKTABLE=%s", sdp->sd_table_name);
786 add_uevent_var(env, "LOCKPROTO=%s", sdp->sd_proto_name);
787 if (!test_bit(SDF_NOJOURNALID, &sdp->sd_flags))
788 add_uevent_var(env, "JOURNALID=%d", sdp->sd_lockstruct.ls_jid);