Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fdd1062e authored by Steven Whitehouse's avatar Steven Whitehouse
Browse files

GFS2: Send some sensible sysfs stuff



We ought to inform the user of the locktable and lockproto for each
uevent we generate.

Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
parent 97cc1025
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -195,9 +195,23 @@ void gdlm_kobject_release(struct gdlm_ls *ls)
	kobject_put(&ls->kobj);
}

static int gdlm_uevent(struct kset *kset, struct kobject *kobj,
		       struct kobj_uevent_env *env)
{
        struct gdlm_ls *ls = container_of(kobj, struct gdlm_ls, kobj);
        add_uevent_var(env, "LOCKTABLE=%s:%s", ls->clustername, ls->fsname);
        add_uevent_var(env, "LOCKPROTO=lock_dlm");
        return 0;
}

static struct kset_uevent_ops gdlm_uevent_ops = {
	.uevent = gdlm_uevent,
};


int gdlm_sysfs_init(void)
{
	gdlm_kset = kset_create_and_add("lock_dlm", NULL, kernel_kobj);
	gdlm_kset = kset_create_and_add("lock_dlm", &gdlm_uevent_ops, kernel_kobj);
	if (!gdlm_kset) {
		printk(KERN_WARNING "%s: can not create kset\n", __func__);
		return -ENOMEM;
+15 −1
Original line number Diff line number Diff line
@@ -461,11 +461,25 @@ void gfs2_sys_fs_del(struct gfs2_sbd *sdp)
	kobject_put(&sdp->sd_kobj);
}

static int gfs2_uevent(struct kset *kset, struct kobject *kobj,
		       struct kobj_uevent_env *env)
{
	struct gfs2_sbd *sdp = container_of(kobj, struct gfs2_sbd, sd_kobj);
	add_uevent_var(env, "LOCKTABLE=%s", sdp->sd_table_name);
	add_uevent_var(env, "LOCKPROTO=%s", sdp->sd_proto_name);
	return 0;
}

static struct kset_uevent_ops gfs2_uevent_ops = {
	.uevent = gfs2_uevent,
};


int gfs2_sys_init(void)
{
	gfs2_sys_margs = NULL;
	spin_lock_init(&gfs2_sys_margs_lock);
	gfs2_kset = kset_create_and_add("gfs2", NULL, fs_kobj);
	gfs2_kset = kset_create_and_add("gfs2", &gfs2_uevent_ops, fs_kobj);
	if (!gfs2_kset)
		return -ENOMEM;
	return 0;