Subject: Re: SYSFS "errors"

From: Borislav Petkov <[email-masked]>
Date: Tue, 19 Feb 2013 12:43:46 +0100

On Tue, Feb 19, 2013 at 08:11:49AM -0300, Mauro Carvalho Chehab wrote:
> > > I remember I saw some discussions about it in the past at bluesmoke ML,
> > > saying that -ENODEV is the expected behavior when this is not supported.
> > > 
> > > Changing from -ENODEV to "N/A" will break anything that would be relying
> > > on the previous behavior. So, I think that such change will for sure break
> > > userspace.
> > > 
> > > If we're willing to change it, not creating the "sdram_scrub_rate" sysfs 
> > > node is less likely to affect userspace.

This will break scripts which assume this file's presence implicitly.

[ … ]

> @@ -1017,6 +1010,14 @@ int edac_create_sysfs_mci_device(struct mem_ctl_info *mci)
>  		return err;
>  	}
>  
> +	if (mci->set_sdram_scrub_rate && mci->get_sdram_scrub_rate) {

This will break cpc925_edac.c because it defines a
->get_sdram_scrub_rate but not a ->set_sdram_scrub_rate.

I think a maybe better fix would be to figure out the sysfs file
permissions based on the presence of the two functions and *then* add
the attribute.

This way, the only visible change to userspace is the corrected sysfs
file permissions.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--