[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] tools/libxc: handle fallback in linux_privcmd_map_foreign_bulk properly
> Date: Thu, 26 Jan 2012 14:36:30 +0100 > From: Olaf Hering <olaf@xxxxxxxxx> > To: xen-devel@xxxxxxxxxxxxxxxxxxx > Subject: [Xen-devel] [PATCH] tools/libxc: handle fallback in > linux_privcmd_map_foreign_bulk properly > Message-ID: <aa0d678fece208975984.1327584990@xxxxxxxxxxxx> > Content-Type: text/plain; charset="us-ascii" > > # HG changeset patch > # User Olaf Hering <olaf@xxxxxxxxx> > # Date 1327584962 -3600 > # Node ID aa0d678fece208975984e8e59ca223c07fc50c06 > # Parent 89fdabcf315fdaabeebf05c51a6b3b6dd4c20e85 > tools/libxc: handle fallback in linux_privcmd_map_foreign_bulk properly > > If the first ioctl fails with ENOENT it means the command is known. If a > second attempt to map each gfn happens to fail then there is no need to > run the fallback code. Some gfns are paged and the fallback code would > not fix the failure. Instead return the EINVAL to the caller. > > Signed-off-by: Olaf Hering <olaf@xxxxxxxxx> Acked-by: Andres Lagar-Cavilla <andres@xxxxxxxxxxxxxxxx> Thanks, Andres > > diff -r 89fdabcf315f -r aa0d678fece2 tools/libxc/xc_linux_osdep.c > --- a/tools/libxc/xc_linux_osdep.c > +++ b/tools/libxc/xc_linux_osdep.c > @@ -217,6 +217,7 @@ static void *linux_privcmd_map_foreign_b > > rc = ioctl(fd, IOCTL_PRIVCMD_MMAPBATCH_V2, &ioctlx); > > + /* Command was recognized, some gfn in arr are in paging state */ > if ( rc < 0 && errno == ENOENT ) > { > for ( i = rc = 0; rc == 0 && i < num; i++ ) > @@ -235,8 +236,8 @@ static void *linux_privcmd_map_foreign_b > } while ( rc < 0 && errno == ENOENT && err[i] == -ENOENT ); > } > } > - > - if ( rc < 0 && errno == EINVAL && (int)num > 0 ) > + /* Command was not recognized, use fall back */ > + else if ( rc < 0 && errno == EINVAL && (int)num > 0 ) > { > /* > * IOCTL_PRIVCMD_MMAPBATCH_V2 is not supported - fall back to > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |