Re: any chance of 2.6.0-test*?

Oliver Neukum
2003-01-12T22:04:08Z

Am Sonntag, 12. Januar 2003 22:44 schrieb Rob Wilkens:
> On Sun, 2003-01-12 at 16:40, Rik van Riel wrote:
> > OK, now imagine the dcache locking changing a little bit.
> > You need to update this piece of (duplicated) code in half
> > a dozen places in just this function and no doubt in dozens
> > of other places all over fs/*.c.
> >
> > >From a maintenance point of view, a goto to a single block
> >
> > of error handling code is easier to maintain.
>
> There's no reason, though, that the error handling/cleanup code can't be
> in an entirely separate function, and if speed is needed, there's no
> reason it can't be an "inline" function. Or am I oversimplifying things
> again?

Yes. Typical error cleanup looks like:
err_out:
up(&sem);
return err;

Releasing a lock in another function is a crime punished by slow death.
(Some might even resort to voodoo to make sure your shadow suffers
in the beyond.)
It makes code absolutely unreadable.

Regards
Oliver