Re: [PATCH 1/2] erofs: add sysfs interface

From: Huang Jianan
Date: Tue Nov 09 2021 - 02:32:07 EST


在 2021/11/9 11:14, Joe Perches 写道:
On Tue, 2021-11-09 at 10:54 +0800, Huang Jianan wrote:
Add sysfs interface to configure erofs related parameters in the
future.
[]
diff --git a/fs/erofs/sysfs.c b/fs/erofs/sysfs.c
[]
+static ssize_t erofs_attr_show(struct kobject *kobj,
+ struct attribute *attr, char *buf)
+{
+ struct erofs_sb_info *sbi = container_of(kobj, struct erofs_sb_info,
+ s_kobj);
+ struct erofs_attr *a = container_of(attr, struct erofs_attr, attr);
+ unsigned char *ptr = __struct_ptr(sbi, a->struct_type, a->offset);
+
+ switch (a->attr_id) {
+ case attr_feature:
+ return snprintf(buf, PAGE_SIZE, "supported\n");
+ case attr_pointer_ui:
+ if (!ptr)
+ return 0;
+ return snprintf(buf, PAGE_SIZE, "%u\n",
+ *((unsigned int *) ptr));
Prefer sysfs_emit over snprintf

case attr_feature:
return sysfs_emit(buf, "supported\n");
case attr_pointer_ui:
...
return sysfs_emit(buf, "%u\n", *(unsigned int *)ptr);

etc...

Thanks for reminding this, I will fix it in the next version.

Thanks,
Jianan