Re: [PATCH 1/5] drivercore: add new error value for deferred probe

From: Grant Likely
Date: Thu Oct 13 2011 - 00:10:21 EST


On Wed, Oct 12, 2011 at 11:48:23AM +0530, G, Manjunath Kondaiah wrote:
> On Sun, Oct 09, 2011 at 06:06:56PM -0700, Greg KH wrote:
> > On Sun, Oct 09, 2011 at 04:59:31PM -0600, Grant Likely wrote:
> > > On Fri, Oct 7, 2011 at 6:12 PM, Greg KH <greg@xxxxxxxxx> wrote:
> > > > On Fri, Oct 07, 2011 at 07:28:33PM -0400, Valdis.Kletnieks@xxxxxx wrote:
> > > >> On Fri, 07 Oct 2011 16:12:45 MDT, Grant Likely said:
> > > >> > On Fri, Oct 7, 2011 at 12:43 AM, Greg KH <greg@xxxxxxxxx> wrote:
> > > >> > > On Fri, Oct 07, 2011 at 10:33:06AM +0500, G, Manjunath Kondaiah wrote:
> > > >>
> > > >> > >> +#define EPROBE_DEFER 517     /* restart probe again after some time */
> > > >> > >
> > > >> > > Can we really do this?
> > > >>
> > > >> > According to Arnd, yes this is okay.
> > > >>
> > > >> > >  Isn't this some user/kernel api here?
> > > >>
> > > >> > > What's wrong with just "overloading" on top of an existing error code?
> > > >> > > Surely one of the other 516 types could be used here, right?
> > > >>
> > > >> > overloading makes it really hard to find the users at a later date.
> > > >>
> > > >> Would proposing '#define EPROBE_DEFER EAGAIN' be acceptable to everybody? That
> > > >> would allow overloading EAGAIN, but still make it easy to tell the usages apart
> > > >> if we need to separate them later...
> > > >
> > > > Yes, please do that, it is what USB does for it's internal error code
> > > > handling.
> > >
> > > Really? When we've only currently used approximately 2^9 of a 2^31
> > > numberspace? I'm fine with making sure that the number doesn't show
> > > up in the userspace headers, but it makes no sense to overload the
> > > #defines. Particularly so in this case where it isn't feasible to
> > > audit every driver to figure out what probe might possibly return. It
> > > is well within the realm of possibility that existing drivers are
> > > already returning -EAGAIN.
> >
> > I doubt they are, but you are right, it's really hard to tell.
> >
> > > Besides; linux/errno.h *already* has linux-internal error codes that
> > > do not get exported out to userspace. There is an #ifdef __KERNEL__
> > > block around ERESTARTSYS through EIOCBRETRY which is filtered out when
> > > exporting headers. I can't see any possible reason why we wouldn't
> > > add Linux internal error codes here.
> >
> > As long as it stays internal, that's fine, I was worried that this would
> > be exported to userspace.
> >
> > Alan, still object to this?
>
> I hope no one has objections to use EPROBE_DEFER

I say go with that value. If Alan still objects, then he will speak up.

g.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/