Messages in this thread | | | Date | Fri, 9 Sep 2022 17:23:12 +0800 | Subject | Re: [PATCH V2 3/5] erofs: add 'domain_id' prefix when register sysfs | From | JeffleXu <> |
| |
On 9/2/22 6:53 PM, Jia Zhu wrote: > In shared domain mount procedure, add 'domain_id' prefix to register > sysfs entry. Thus we could distinguish mounts that don't use shared > domain. > > Signed-off-by: Jia Zhu <zhujia.zj@bytedance.com> > --- > fs/erofs/sysfs.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/fs/erofs/sysfs.c b/fs/erofs/sysfs.c > index c1383e508bbe..c0031d7bd817 100644 > --- a/fs/erofs/sysfs.c > +++ b/fs/erofs/sysfs.c > @@ -201,12 +201,21 @@ static struct kobject erofs_feat = { > int erofs_register_sysfs(struct super_block *sb) > { > struct erofs_sb_info *sbi = EROFS_SB(sb); > + char *name = NULL; > int err; > > + if (erofs_is_fscache_mode(sb)) { > + name = kasprintf(GFP_KERNEL, "%s%s%s", sbi->opt.domain_id ? > + sbi->opt.domain_id : "", sbi->opt.domain_id ? "," : "", > + sbi->opt.fsid); > + if (!name) > + return -ENOMEM; > + }
How about:
name = erofs_is_fscache_mode(sb) ? sbi->opt.fsid : sb->s_id; if (sbi->opt.domain_id) { str = kasprintf(GFP_KERNEL, "%s,%s", sbi->opt.domain_id, sbi->opt.fsid); name = str; }
> sbi->s_kobj.kset = &erofs_root; > init_completion(&sbi->s_kobj_unregister); > err = kobject_init_and_add(&sbi->s_kobj, &erofs_sb_ktype, NULL, "%s", > - erofs_is_fscache_mode(sb) ? sbi->opt.fsid : sb->s_id); > + name ? name : sb->s_id);
kobject_init_and_add(..., "%s", name); kfree(str);
though it's still not such straightforward...
Any better idea?
> + kfree(name); > if (err) > goto put_sb_kobj; > return 0;
-- Thanks, Jingbo
| |