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

Re: [Xen-devel] [Qemu-devel] [PATCH v2 1/3] xen: fix usage of ENODATA



On Tue, 27 May 2014, Roger Pau Monnà wrote:
> On 27/05/14 18:18, Stefano Stabellini wrote:
> > On Fri, 23 May 2014, Roger Pau Monne wrote:
> >> ENODATA doesn't exist on FreeBSD, so ENODATA errors returned by the
> >> hypervisor are translated to ENOENT.
> >>
> >> Also, the error code is returned in errno if the call returns -1, so
> >> compare the error code with the value in errno instead of the value
> >> returned by the function.
> >>
> >> Signed-off-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx>
> >> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx
> >> Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> >> Cc: Anthony Perard <anthony.perard@xxxxxxxxxx>
> >> ---
> >> Changes since v1:
> >>  - Define ENODATA to ENOENT for platforms that don't have ENODATA.
> >> ---
> >>  xen-hvm.c |    7 +++++--
> >>  1 files changed, 5 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/xen-hvm.c b/xen-hvm.c
> >> index a64486c..a414105 100644
> >> --- a/xen-hvm.c
> >> +++ b/xen-hvm.c
> >> @@ -499,11 +499,14 @@ static void xen_sync_dirty_bitmap(XenIOState *state,
> >>                                   start_addr >> TARGET_PAGE_BITS, npages,
> >>                                   bitmap);
> >>      if (rc < 0) {
> >> -        if (rc != -ENODATA) {
> >> +#ifndef ENODATA
> >> +#define ENODATA  ENOENT
> >> +#endif
> > 
> > I wonder if it makes sense to have this in a more generic header, lile
> > include/qemu/osdep.h?
> 
> Well, I think this is something really specific to Xen, because FreeBSD
> is mapping the error returned by Xen (ENODATA), to a error code
> available on FreeBSD (ENOENT), see:
> 
> http://xenbits.xen.org/gitweb/?p=people/royger/freebsd.git;a=patch;h=f09eeed01bc884b37e978f6ec6e3e7a86778ef4b
> 
> But I don't think this is useful outside of this context, since there's
> no syscall that would return ENODATA on FreeBSD that instead returns
> ENOENT. All the paths in Qemu that check for ENODATA are Linux specific
> AFAICT.

Fair enough. In that case the patch is fine as it is.
_______________________________________________
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®.