Lines Matching refs:sdp

41 	struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);
43 return a->show ? a->show(sdp, buf) : 0;
49 struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);
51 return a->store ? a->store(sdp, buf, len) : len;
62 static ssize_t id_show(struct gfs2_sbd *sdp, char *buf)
65 MAJOR(sdp->sd_vfs->s_dev), MINOR(sdp->sd_vfs->s_dev));
68 static ssize_t fsname_show(struct gfs2_sbd *sdp, char *buf)
70 return snprintf(buf, PAGE_SIZE, "%s\n", sdp->sd_fsname);
84 static ssize_t uuid_show(struct gfs2_sbd *sdp, char *buf)
86 struct super_block *s = sdp->sd_vfs;
94 static ssize_t freeze_show(struct gfs2_sbd *sdp, char *buf)
96 struct super_block *sb = sdp->sd_vfs;
102 static ssize_t freeze_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
112 error = thaw_super(sdp->sd_vfs);
115 error = freeze_super(sdp->sd_vfs);
122 fs_warn(sdp, "freeze %d error %d", n, error);
129 static ssize_t withdraw_show(struct gfs2_sbd *sdp, char *buf)
131 unsigned int b = test_bit(SDF_SHUTDOWN, &sdp->sd_flags);
135 static ssize_t withdraw_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
143 gfs2_lm_withdraw(sdp, "withdrawing from cluster at user's request\n");
148 static ssize_t statfs_sync_store(struct gfs2_sbd *sdp, const char *buf,
157 gfs2_statfs_sync(sdp->sd_vfs, 0);
161 static ssize_t quota_sync_store(struct gfs2_sbd *sdp, const char *buf,
170 gfs2_quota_sync(sdp->sd_vfs, 0);
174 static ssize_t quota_refresh_user_store(struct gfs2_sbd *sdp, const char *buf,
190 error = gfs2_quota_refresh(sdp, qid);
194 static ssize_t quota_refresh_group_store(struct gfs2_sbd *sdp, const char *buf,
210 error = gfs2_quota_refresh(sdp, qid);
214 static ssize_t demote_rq_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
249 if (!test_and_set_bit(SDF_DEMOTE, &sdp->sd_flags))
250 fs_info(sdp, "demote interface used\n");
251 rv = gfs2_glock_get(sdp, glnum, glops, 0, &gl);
290 struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);
292 kfree(sdp);
306 static ssize_t proto_name_show(struct gfs2_sbd *sdp, char *buf)
308 const struct lm_lockops *ops = sdp->sd_lockstruct.ls_ops;
312 static ssize_t block_show(struct gfs2_sbd *sdp, char *buf)
314 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
324 static ssize_t block_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
326 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
337 gfs2_glock_thaw(sdp);
344 static ssize_t wdack_show(struct gfs2_sbd *sdp, char *buf)
346 int val = completion_done(&sdp->sd_wdack) ? 1 : 0;
351 static ssize_t wdack_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
359 !strcmp(sdp->sd_lockstruct.ls_ops->lm_proto_name, "lock_dlm"))
360 complete(&sdp->sd_wdack);
366 static ssize_t lkfirst_show(struct gfs2_sbd *sdp, char *buf)
368 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
372 static ssize_t lkfirst_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
380 rv = wait_for_completion_killable(&sdp->sd_locking_init);
383 spin_lock(&sdp->sd_jindex_spin);
385 if (test_bit(SDF_NOJOURNALID, &sdp->sd_flags) == 0)
388 if (sdp->sd_args.ar_spectator)
390 if (sdp->sd_lockstruct.ls_ops->lm_mount == NULL)
392 sdp->sd_lockstruct.ls_first = first;
395 spin_unlock(&sdp->sd_jindex_spin);
399 static ssize_t first_done_show(struct gfs2_sbd *sdp, char *buf)
401 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
405 int gfs2_recover_set(struct gfs2_sbd *sdp, unsigned jid)
411 wait_for_completion(&sdp->sd_journal_ready);
413 spin_lock(&sdp->sd_jindex_spin);
415 if (sdp->sd_jdesc->jd_jid == jid)
418 list_for_each_entry(jd, &sdp->sd_jindex_list, jd_list) {
425 spin_unlock(&sdp->sd_jindex_spin);
429 static ssize_t recover_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
438 if (test_bit(SDF_NORECOVERY, &sdp->sd_flags)) {
443 rv = gfs2_recover_set(sdp, jid);
448 static ssize_t recover_done_show(struct gfs2_sbd *sdp, char *buf)
450 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
454 static ssize_t recover_status_show(struct gfs2_sbd *sdp, char *buf)
456 struct lm_lockstruct *ls = &sdp->sd_lockstruct;
460 static ssize_t jid_show(struct gfs2_sbd *sdp, char *buf)
462 return sprintf(buf, "%d\n", sdp->sd_lockstruct.ls_jid);
465 static ssize_t jid_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 (sdp->sd_lockstruct.ls_ops->lm_mount == NULL)
481 if (test_bit(SDF_NOJOURNALID, &sdp->sd_flags) == 0)
484 if (sdp->sd_args.ar_spectator && jid > 0)
486 sdp->sd_lockstruct.ls_jid = jid;
487 clear_bit(SDF_NOJOURNALID, &sdp->sd_flags);
489 wake_up_bit(&sdp->sd_flags, SDF_NOJOURNALID);
491 spin_unlock(&sdp->sd_jindex_spin);
525 static ssize_t quota_scale_show(struct gfs2_sbd *sdp, char *buf)
528 sdp->sd_tune.gt_quota_scale_num,
529 sdp->sd_tune.gt_quota_scale_den);
532 static ssize_t quota_scale_store(struct gfs2_sbd *sdp, const char *buf,
535 struct gfs2_tune *gt = &sdp->sd_tune;
551 static ssize_t tune_set(struct gfs2_sbd *sdp, unsigned int *field,
554 struct gfs2_tune *gt = &sdp->sd_tune;
575 static ssize_t name##_show(struct gfs2_sbd *sdp, char *buf) \
577 return snprintf(buf, PAGE_SIZE, "%u\n", sdp->sd_tune.gt_##name); \
582 static ssize_t name##_store(struct gfs2_sbd *sdp, const char *buf, size_t len)\
584 return tune_set(sdp, &sdp->sd_tune.gt_##name, check_zero, buf, len); \
619 int gfs2_sys_fs_add(struct gfs2_sbd *sdp)
621 struct super_block *sb = sdp->sd_vfs;
629 sprintf(spectator, "SPECTATOR=%d", sdp->sd_args.ar_spectator ? 1 : 0);
631 sdp->sd_kobj.kset = gfs2_kset;
632 error = kobject_init_and_add(&sdp->sd_kobj, &gfs2_ktype, NULL,
633 "%s", sdp->sd_table_name);
637 sysfs_frees_sdp = 1; /* Freeing sdp is now done by sysfs calling
639 error = sysfs_create_group(&sdp->sd_kobj, &tune_group);
643 error = sysfs_create_group(&sdp->sd_kobj, &lock_module_group);
647 error = sysfs_create_link(&sdp->sd_kobj,
653 kobject_uevent_env(&sdp->sd_kobj, KOBJ_ADD, envp);
657 sysfs_remove_group(&sdp->sd_kobj, &lock_module_group);
659 sysfs_remove_group(&sdp->sd_kobj, &tune_group);
661 free_percpu(sdp->sd_lkstats);
662 fs_err(sdp, "error %d adding sysfs files", error);
664 kobject_put(&sdp->sd_kobj);
666 kfree(sdp);
671 void gfs2_sys_fs_del(struct gfs2_sbd *sdp)
673 sysfs_remove_link(&sdp->sd_kobj, "device");
674 sysfs_remove_group(&sdp->sd_kobj, &tune_group);
675 sysfs_remove_group(&sdp->sd_kobj, &lock_module_group);
676 kobject_put(&sdp->sd_kobj);
682 struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);
683 struct super_block *s = sdp->sd_vfs;
686 add_uevent_var(env, "LOCKTABLE=%s", sdp->sd_table_name);
687 add_uevent_var(env, "LOCKPROTO=%s", sdp->sd_proto_name);
688 if (!test_bit(SDF_NOJOURNALID, &sdp->sd_flags))
689 add_uevent_var(env, "JOURNALID=%d", sdp->sd_lockstruct.ls_jid);