RE: [PATCH] scsi: ufs: sysfs: add is_ascii_output entry

From: Arthur Simchaev
Date: Sun Feb 14 2021 - 09:23:00 EST


Done.

Regards
Arthur

> -----Original Message-----
> From: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
> Sent: Sunday, February 14, 2021 11:54 AM
> To: Bart Van Assche <bvanassche@xxxxxxx>
> Cc: Arthur Simchaev <Arthur.Simchaev@xxxxxxx>; James E . J . Bottomley
> <jejb@xxxxxxxxxxxxxxxxxx>; Martin K . Petersen
> <martin.petersen@xxxxxxxxxx>; linux-scsi@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; alim.akhtar@xxxxxxxxxxx; Bean Huo
> <beanhuo@xxxxxxxxxx>; Arthur Simchaev <Arthur.Simchaev@xxxxxxx>
> Subject: Re: [PATCH] scsi: ufs: sysfs: add is_ascii_output entry
>
> CAUTION: This email originated from outside of Western Digital. Do not click
> on links or open attachments unless you recognize the sender and know that
> the content is safe.
>
>
> On Wed, Feb 10, 2021 at 07:35:25PM -0800, Bart Van Assche wrote:
> > On 2/10/21 2:53 AM, Arthur Simchaev wrote:
> > > +static bool is_ascii_output = true;
> >
> > [ ... ]
> >
> > > static const char *ufschd_uic_link_state_to_string(
> > > enum uic_link_state state)
> > > {
> > > @@ -693,7 +695,15 @@ static ssize_t _name##_show(struct device *dev,
> \
> > > SD_ASCII_STD); \
> > > if (ret < 0) \
> > > goto out; \
> > > - ret = sysfs_emit(buf, "%s\n", desc_buf); \
> > > + if (is_ascii_output) { \
> > > + ret = sysfs_emit(buf, "%s\n", desc_buf); \
> > > + } else { \
> > > + int i; \
> > > + \
> > > + for (i = 0; i < desc_buf[0]; i++) \
> > > + hex_byte_pack(buf + i * 2, desc_buf[i]); \
> > > + ret = sysfs_emit(buf, "%s\n", buf); \
> > > + } \
> > > out: \
> > > pm_runtime_put_sync(hba->dev); \
> > > kfree(desc_buf); \
> >
> > Please do not introduce a mode variable but instead introduce a new
> > attribute such that there is one attribute for the unicode output and
> > one attribute for the ASCII output. Mode variables are troublesome when
> > e.g. two scripts try to set the mode attribute concurrently.
>
> Agreed, just make a new sysfs file, please never change the output of an
> existing sysfs file, that way will guarantee confusion in userspace.
>
> thanks,
>
> greg k-h