| 
    
 [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] - return error when appropriate from increase_memory_reservation
 
This patch fixes a case in increasing a memory reservation where you
do not get the pages nor do you get an error.  While an argument might
be made that checking the page count independently is workable, it
does seem reasonable to have the operation return a failure in the
cases where it doesn't do what was asked. Right now, it mostly returns
the correct status.  This patch just adds another instance of this.
And, while-I-was-there, I've been generating linker maps for qemu in
my own builds. It's harmless, until you need it and then it's valuable.
Tweak the Makefile to create the map.
Signed-off-by:  Ben Thomas (ben@xxxxxxxxxxxxxxx)
--
------------------------------------------------------------------------
Ben Thomas                                         Virtual Iron Software
bthomas@xxxxxxxxxxxxxxx                            Tower 1, Floor 2
978-849-1214                                       900 Chelmsford Street
                                                   Lowell, MA 01851
--- a/tools/ioemu/target-i386-dm/Makefile       Fri Apr 14 14:31:13 2006 -0400
+++ b/tools/ioemu/target-i386-dm/Makefile       Thu Apr 20 13:56:56 2006 -0400
@@ -323,7 +323,7 @@ endif
 endif
 
 $(QEMU_SYSTEM): $(VL_OBJS) libqemu.a
-       $(CC) $(CFLAGS) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(VNC_LIBS) 
$(VL_LIBS) -lpthread
+       $(CC) $(CFLAGS) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(VNC_LIBS) 
$(VL_LIBS) -lpthread -Wl,-Map,qemu-dm.map -Wl,--cref
 
 vnc.o: vnc.c keyboard_rdesktop.c
        $(CC) $(CFLAGS) $(DEFINES) $(VNC_CFLAGS) -c -o $@ $<
diff -r 487f5e5c0fbd xen/common/memory.c
--- a/xen/common/memory.c       Fri Apr 14 14:31:13 2006 -0400
+++ b/xen/common/memory.c       Thu Apr 20 13:56:56 2006 -0400
@@ -348,6 +348,9 @@ long do_memory_op(unsigned long cmd, GUE
             break;
         }
 
+        if (rc < reservation.nr_extents && !preempted)
+            return -ENOMEM;
+ 
         if ( unlikely(reservation.domid != DOMID_SELF) )
             put_domain(d);
 
_______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel 
 
  | 
  
![]()  | 
            
         Lists.xenproject.org is hosted with RackSpace, monitoring our  |