On Fri, Mar 31, 2017 at 11:15:22AM +0200, Thomas Gleixner wrote: > On Wed, 29 Mar 2017, Fenghua Yu wrote: > > > static int rdtgroup_cpus_show(struct kernfs_open_file *of, > > > - struct seq_file *s, void *v) > > > + struct seq_file *s, void *v, > > > + unsigned long flags) > > > { > > > + const char *fmt = flags & RFTYPE_FLAGS_CPUS_LIST ? "%*pbl\n" : "%*pb\n"; > > > > Change to: > > + const char *fmt = strcmp(of->kn->priv, "cpus") ? "%*pbl\n" : "%*pb\n"; > > You couldn't come up with a more horrible hack, right? > > Jiri was right with adding the flag to the base files, just the propagation > through the callbacks sucks. What's wrong with: > > struct rftype *rft = of->kn->priv; > bool list = rtf->flags & RFTYPE_FLAGS_CPUS_LIST;
You are absolutely correct. Thanks. -Fenghua