[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC Patch v4 7/9] correct xc_domain_save()'s return value



On Mon, 2014-09-22 at 16:06 +0800, Wen Congyang wrote:
> On 09/22/2014 03:46 PM, Olaf Hering wrote:
> > On Mon, Sep 22, Wen Congyang wrote:
> > 
> >> On 09/22/2014 03:30 PM, Olaf Hering wrote:
> >>> On Mon, Sep 22, Wen Congyang wrote:
> >>>
> >>>>      if ( !(*suspend)(data) )
> >>>>      {
> >>>>          ERROR("Suspend request failed");
> >>>> +        errno = errno ? : -1;
> >>>
> >>> -1 is not a valid value for errno, it should be ESOMETHING.
> >>
> >> But, we don't know what's wrong, so I don't know which ESOMETHING is
> >> OK here...
> > 
> > The called function has to set errno. If it doesnt do that today, fix
> > the callbacks.
> 
> The callbacks may be implemented in libxl, which is another process.

libxc doesn't know that, if it is important then it seems like the
failure + errno ought to be marshalled across the IPC link.

It may be that this can be easily handled in
libxl__srm_callout_sendreply + helper_getreply. Ian J -- what do you
think?

> xc_domain_save() is a public API, and the caller may forget to set
> the errno...
> 
> So we cannot assume that the callbacks has set the errno

I think we are entitled to assume that they must (iff returning -1)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.