Re: [PATCH v6 08/25] rtrs: client: sysfs interface functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 2, 2020 at 10:14 PM Bart Van Assche <bvanassche@xxxxxxx> wrote:
>
> On 12/30/19 2:29 AM, Jack Wang wrote:
> > +static struct kobj_type ktype = {
> > +     .sysfs_ops = &kobj_sysfs_ops,
> > +};
>
> Can this data structure be declared 'const'?
No, kobject_init_and_add expect sturct kobj_type *.
>
> > +static ssize_t max_reconnect_attempts_show(struct device *dev,
> > +                                        struct device_attribute *attr,
> > +                                        char *page)
> > +{
> > +     struct rtrs_clt *clt;
> > +
> > +     clt = container_of(dev, struct rtrs_clt, dev);
>
> If the above two statements would be combined into a single statement,
> does the result still fit in 80 columns? If so, please combine these two
> statements into a single statement.
ok.
>
> > +static ssize_t max_reconnect_attempts_store(struct device *dev,
> > +                                         struct device_attribute *attr,
> > +                                         const char *buf,
> > +                                         size_t count)
> > +{
> > +     struct rtrs_clt *clt;
> > +     int value;
> > +     int ret;
> > +
> > +     clt = container_of(dev, struct rtrs_clt, dev);
>
> Same comment here and also for other uses of 'clt': how about combining
> the declaration and initialization of 'clt' into a single line of code?
ok.
>
> > +static ssize_t mpath_policy_show(struct device *dev,
> > +                              struct device_attribute *attr,
> > +                              char *page)
> > +{
> > +     struct rtrs_clt *clt;
> > +
> > +     clt = container_of(dev, struct rtrs_clt, dev);
> > +
> > +     switch (clt->mp_policy) {
> > +     case MP_POLICY_RR:
> > +             return sprintf(page, "round-robin (RR: %d)\n", clt->mp_policy);
> > +     case MP_POLICY_MIN_INFLIGHT:
> > +             return sprintf(page, "min-inflight (MI: %d)\n", clt->mp_policy);
> > +     default:
> > +             return sprintf(page, "Unknown (%d)\n", clt->mp_policy);
> > +     }
> > +}
>
> Is the above show function compatible with the sysfs one-value-per-file
> rule?
It's a single string :)
>
> > +static struct kobj_attribute rtrs_clt_remove_path_attr =
> > +     __ATTR(remove_path, 0644, rtrs_clt_remove_path_show,
> > +            rtrs_clt_remove_path_store);
>
> Could __ATTR_RW() have been used here?
can be used, but I prefer to keep the rtrs_clt_ prefix for function names.
>
> > +static struct kobj_attribute rtrs_clt_src_addr_attr =
> > +     __ATTR(src_addr, 0444, rtrs_clt_src_addr_show, NULL);
>
> Could __ATTR_RO() have been used here?
dito.
>
> > +static struct attribute_group rtrs_clt_sess_attr_group = {
> > +     .attrs = rtrs_clt_sess_attrs,
> > +};
>
> Can this data structure be declared 'const'?
Yes.
>
> Thanks,
>
> Bart.
Thanks



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux