From c8d7221ec56ab70ed58ddf58066bc1f4e704203a Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 25 Mar 2022 14:30:15 -0700 Subject: [PATCH] Show data device numbers in sysfs file It can be handy to associate mounts with their sysfs directory by their data device number. Signed-off-by: Zach Brown --- kmod/src/sysfs.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/kmod/src/sysfs.c b/kmod/src/sysfs.c index 9bf19e48..cde3e7d8 100644 --- a/kmod/src/sysfs.c +++ b/kmod/src/sysfs.c @@ -37,6 +37,15 @@ struct attr_funcs { #define ATTR_FUNCS_RO(_name) \ static struct attr_funcs _name##_attr_funcs = __ATTR_RO(_name) +static ssize_t data_device_maj_min_show(struct kobject *kobj, struct attribute *attr, char *buf) +{ + struct super_block *sb = KOBJ_TO_SB(kobj, sb_id_kobj); + + return snprintf(buf, PAGE_SIZE, "%u:%u\n", + MAJOR(sb->s_bdev->bd_dev), MINOR(sb->s_bdev->bd_dev)); +} +ATTR_FUNCS_RO(data_device_maj_min); + static ssize_t format_version_show(struct kobject *kobj, struct attribute *attr, char *buf) { @@ -101,6 +110,7 @@ static ssize_t attr_funcs_show(struct kobject *kobj, struct attribute *attr, static struct attribute *sb_id_attrs[] = { + &data_device_maj_min_attr_funcs.attr, &format_version_attr_funcs.attr, &fsid_attr_funcs.attr, &rid_attr_funcs.attr,