Re: [PATCH -mm] sysfs_remove_bin_file: no return value, no check needed

Andrew Morton
2006-07-10T21:43:46Z

On Mon, 10 Jul 2006 12:29:10 -0700
"Randy.Dunlap" <rdunlap@xenotime.net> wrote:

> From: Randy Dunlap <rdunlap@xenotime.net>
>
> > In some cases (eg, sysfs file removal) there's not a lot the caller can do
> > apart from warn, so we should probably change those things to return void
> > and put a diagnostic message into the callee itself.
>
> sysfs_remove_bin_file() cannot tell if there is an error and
> cannot return an error, so "fix" around 40 must-check warnings.
>
> Convert sysfs_remove_bin_file() from int to void since it
> cannot return an error.
> Remove __must_check from its declaration.
> Convert the only function that checked the return value of
> sysfs_remove_bin_file().
>

Yes, I think that's the best way to handle this case.

But it's still an error if the file isn't there, or if the removal fails
for some other reason. It means that someone tried to remove a file which
they didn't add, and that a subsequent attempt to add that file will fail,
etc.

So I think a better policy would be to emit a warning from within
sysfs_remove_bin_file(), then return void. The warning should include the
stack trace and the filename (if poss).