All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Cleanup error paths in xen/common/dom0_ops.c
@ 2005-03-09 20:28 Anthony Liguori
  0 siblings, 0 replies; only message in thread
From: Anthony Liguori @ 2005-03-09 20:28 UTC (permalink / raw)
  To: xen-devel

[-- Attachment #1: Type: text/plain, Size: 723 bytes --]

I've written an automated dom0_op generator in an effort to test the 
libxc rewrite.  The tool is still awfully primative and the rewrite is 
not yet complete but I wanted to post fixes for some bugs the tool found 
so I wouldn't forget.

The first makes sure that builddomain returns ESRCH when passed an 
invalid domain ID (this is what every other dom0_op returns).

The second makes sure that unpausedomain returns EINVAL if you try to 
unpause yourself.  This is the behavior of pausedomain and is a bit more 
sane than just returning 0.

I've tested this on today's unstable (able to boot and create domains 
with Xend just as before).

Regards,
Anthony Liguori

Signed-off-by: Anthony Liguori (aliguori@us.ibm.com)


[-- Attachment #2: dom0_op_error.diff --]
[-- Type: text/x-patch, Size: 951 bytes --]

--- xen-unstable/xen/common/dom0_ops.c~	2005-03-08 22:12:28.000000000 -0600
+++ xen-unstable/xen/common/dom0_ops.c	2005-03-09 14:03:05.000000000 -0600
@@ -114,7 +114,7 @@
     case DOM0_BUILDDOMAIN:
     {
         struct domain *d = find_domain_by_id(op->u.builddomain.domain);
-        ret = -EINVAL;
+        ret = -ESRCH;
         if ( d != NULL )
         {
             ret = final_setup_guest(d, &op->u.builddomain);
@@ -147,10 +147,13 @@
         if ( d != NULL )
         {
             ret = -EINVAL;
-            if ( test_bit(DF_CONSTRUCTED, &d->d_flags) )
+            if ( d != current->domain )
             {
-                domain_unpause_by_systemcontroller(d);
-                ret = 0;
+                if ( test_bit(DF_CONSTRUCTED, &d->d_flags) )
+                {
+                    domain_unpause_by_systemcontroller(d);
+                    ret = 0;
+                }
             }
             put_domain(d);
         }

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-03-09 20:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-09 20:28 [PATCH] Cleanup error paths in xen/common/dom0_ops.c Anthony Liguori

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.