All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: Tools backports for 4.5
       [not found] <5551FE38.9050208@citrix.com>
@ 2015-05-12 14:56 ` Ian Jackson
  2015-05-12 15:20   ` Jan Beulich
  2015-05-12 20:59   ` Tools backports for 4.5 Jim Fehlig
  0 siblings, 2 replies; 10+ messages in thread
From: Ian Jackson @ 2015-05-12 14:56 UTC (permalink / raw)
  To: Andrew Cooper; +Cc: xen-devel

Andrew Cooper writes ("Tools backports for 4.5"):
> >From the XenServer patch queue,

(Andrew forgot to CC xen-devel, doing that now:)

> 3380f5b6270e ocaml/xenctrl: Check return values from hypercalls
> c8945d516134 ocaml/xenctrl: Make failwith_xc() thread safe
> 1a010ca99e9b ocaml/xenctrl: Fix stub_xc_readconsolering()
> 96e0ee8386cf tools/hotplug: systemd: Don't ever kill xenstored
> 588df84c0d70 tools/xenconsoled: Increase file descriptor limit

Thanks.  I have noted these.  Depending on what Jan says, I think
these can wait for 4.5.2.

Ian.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Tools backports for 4.5
  2015-05-12 14:56 ` Tools backports for 4.5 Ian Jackson
@ 2015-05-12 15:20   ` Jan Beulich
  2015-05-12 15:22     ` Andrew Cooper
  2015-05-12 20:59   ` Tools backports for 4.5 Jim Fehlig
  1 sibling, 1 reply; 10+ messages in thread
From: Jan Beulich @ 2015-05-12 15:20 UTC (permalink / raw)
  To: Andrew Cooper, Ian Jackson; +Cc: xen-devel

>>> On 12.05.15 at 16:56, <Ian.Jackson@eu.citrix.com> wrote:
> Andrew Cooper writes ("Tools backports for 4.5"):
>> >From the XenServer patch queue,
> 
> (Andrew forgot to CC xen-devel, doing that now:)
> 
>> 3380f5b6270e ocaml/xenctrl: Check return values from hypercalls
>> c8945d516134 ocaml/xenctrl: Make failwith_xc() thread safe
>> 1a010ca99e9b ocaml/xenctrl: Fix stub_xc_readconsolering()
>> 96e0ee8386cf tools/hotplug: systemd: Don't ever kill xenstored
>> 588df84c0d70 tools/xenconsoled: Increase file descriptor limit
> 
> Thanks.  I have noted these.  Depending on what Jan says, I think
> these can wait for 4.5.2.

For the last one, maybe put it in for 4.5.1-rc2?

Jan

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Tools backports for 4.5
  2015-05-12 15:20   ` Jan Beulich
@ 2015-05-12 15:22     ` Andrew Cooper
  2015-05-12 15:29       ` Jan Beulich
  0 siblings, 1 reply; 10+ messages in thread
From: Andrew Cooper @ 2015-05-12 15:22 UTC (permalink / raw)
  To: Jan Beulich, Ian Jackson; +Cc: xen-devel

On 12/05/15 16:20, Jan Beulich wrote:
>>>> On 12.05.15 at 16:56, <Ian.Jackson@eu.citrix.com> wrote:
>> Andrew Cooper writes ("Tools backports for 4.5"):
>>> >From the XenServer patch queue,
>> (Andrew forgot to CC xen-devel, doing that now:)
>>
>>> 3380f5b6270e ocaml/xenctrl: Check return values from hypercalls
>>> c8945d516134 ocaml/xenctrl: Make failwith_xc() thread safe
>>> 1a010ca99e9b ocaml/xenctrl: Fix stub_xc_readconsolering()
>>> 96e0ee8386cf tools/hotplug: systemd: Don't ever kill xenstored
>>> 588df84c0d70 tools/xenconsoled: Increase file descriptor limit
>> Thanks.  I have noted these.  Depending on what Jan says, I think
>> these can wait for 4.5.2.
> For the last one, maybe put it in for 4.5.1-rc2?

If any, the penultimate one is more of an issue.  It prevents any
systemd-based distro from rebooting dom0.

~Andrew

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Tools backports for 4.5
  2015-05-12 15:22     ` Andrew Cooper
@ 2015-05-12 15:29       ` Jan Beulich
  2015-05-27 16:09         ` Tools backports for 4.5 [and 1 more messages] Ian Jackson
  0 siblings, 1 reply; 10+ messages in thread
From: Jan Beulich @ 2015-05-12 15:29 UTC (permalink / raw)
  To: Andrew Cooper, Ian Jackson; +Cc: xen-devel

>>> On 12.05.15 at 17:22, <andrew.cooper3@citrix.com> wrote:
> On 12/05/15 16:20, Jan Beulich wrote:
>>>>> On 12.05.15 at 16:56, <Ian.Jackson@eu.citrix.com> wrote:
>>> Andrew Cooper writes ("Tools backports for 4.5"):
>>>> >From the XenServer patch queue,
>>> (Andrew forgot to CC xen-devel, doing that now:)
>>>
>>>> 3380f5b6270e ocaml/xenctrl: Check return values from hypercalls
>>>> c8945d516134 ocaml/xenctrl: Make failwith_xc() thread safe
>>>> 1a010ca99e9b ocaml/xenctrl: Fix stub_xc_readconsolering()
>>>> 96e0ee8386cf tools/hotplug: systemd: Don't ever kill xenstored
>>>> 588df84c0d70 tools/xenconsoled: Increase file descriptor limit
>>> Thanks.  I have noted these.  Depending on what Jan says, I think
>>> these can wait for 4.5.2.
>> For the last one, maybe put it in for 4.5.1-rc2?
> 
> If any, the penultimate one is more of an issue.  It prevents any
> systemd-based distro from rebooting dom0.

Makes sense (I shouldn't have stopped reading after "hotplug").

Jan

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Tools backports for 4.5
  2015-05-12 14:56 ` Tools backports for 4.5 Ian Jackson
  2015-05-12 15:20   ` Jan Beulich
@ 2015-05-12 20:59   ` Jim Fehlig
  1 sibling, 0 replies; 10+ messages in thread
From: Jim Fehlig @ 2015-05-12 20:59 UTC (permalink / raw)
  To: Ian Jackson; +Cc: Andrew Cooper, xen-devel

Ian Jackson wrote:
> Andrew Cooper writes ("Tools backports for 4.5"):
>   
>> >From the XenServer patch queue,
>>     
>
> (Andrew forgot to CC xen-devel, doing that now:)
>
>   
>> 3380f5b6270e ocaml/xenctrl: Check return values from hypercalls
>> c8945d516134 ocaml/xenctrl: Make failwith_xc() thread safe
>> 1a010ca99e9b ocaml/xenctrl: Fix stub_xc_readconsolering()
>> 96e0ee8386cf tools/hotplug: systemd: Don't ever kill xenstored
>> 588df84c0d70 tools/xenconsoled: Increase file descriptor limit
>>     
>
> Thanks.  I have noted these.  Depending on what Jan says, I think
> these can wait for 4.5.2.
>   

Hi Ian,

I responded to Jan's "preparing for 4.5.1" mail with backport requests
that I currently don't see in staging-4.5

http://lists.xen.org/archives/html/xen-devel/2015-04/msg00168.html

Regards,
Jim

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Tools backports for 4.5 [and 1 more messages]
  2015-05-12 15:29       ` Jan Beulich
@ 2015-05-27 16:09         ` Ian Jackson
  2015-05-27 16:13           ` Andrew Cooper
  2015-06-23 13:12           ` Ian Jackson
  0 siblings, 2 replies; 10+ messages in thread
From: Ian Jackson @ 2015-05-27 16:09 UTC (permalink / raw)
  To: Jim Fehlig, Jan Beulich; +Cc: Andrew Cooper, xen-devel

Jan Beulich writes ("Re: [Xen-devel] Tools backports for 4.5"):
> >>> Andrew Cooper writes ("Tools backports for 4.5"):
> >>>> >From the XenServer patch queue,
> >>> (Andrew forgot to CC xen-devel, doing that now:)
> >>>
> >>>> 3380f5b6270e ocaml/xenctrl: Check return values from hypercalls
> >>>> c8945d516134 ocaml/xenctrl: Make failwith_xc() thread safe
> >>>> 1a010ca99e9b ocaml/xenctrl: Fix stub_xc_readconsolering()
> >>>> 96e0ee8386cf tools/hotplug: systemd: Don't ever kill xenstored
> >>>> 588df84c0d70 tools/xenconsoled: Increase file descriptor limit

I have just pushed these to staging-4.5.

Jim Fehlig writes ("Re: [Xen-devel] Tools backports for 4.5"):
> I responded to Jan's "preparing for 4.5.1" mail with backport requests
> that I currently don't see in staging-4.5
> 
> http://lists.xen.org/archives/html/xen-devel/2015-04/msg00168.html

Thanks, I have pushed those three to staging-4.5 too.

The above backports (771f857e..9d5b2b01) need to go to 4.4 and
earlier as applicable.  I will look at that soon (probably tomorrow).

I have also picked up the fix to XSA-133 into all the qemu-trad trees
back to 4.2 inclusive.  (4.1 is no longer receiving even security
fixes and has had no commits since 2013.)

I think that's all the outstanding tools backports for the 4.5 branch.

Ian.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Tools backports for 4.5 [and 1 more messages]
  2015-05-27 16:09         ` Tools backports for 4.5 [and 1 more messages] Ian Jackson
@ 2015-05-27 16:13           ` Andrew Cooper
  2015-06-23 13:12           ` Ian Jackson
  1 sibling, 0 replies; 10+ messages in thread
From: Andrew Cooper @ 2015-05-27 16:13 UTC (permalink / raw)
  To: Ian Jackson, Jim Fehlig, Jan Beulich; +Cc: xen-devel

On 27/05/15 17:09, Ian Jackson wrote:
> Jan Beulich writes ("Re: [Xen-devel] Tools backports for 4.5"):
>>>>> Andrew Cooper writes ("Tools backports for 4.5"):
>>>>>> >From the XenServer patch queue,
>>>>> (Andrew forgot to CC xen-devel, doing that now:)
>>>>>
>>>>>> 3380f5b6270e ocaml/xenctrl: Check return values from hypercalls
>>>>>> c8945d516134 ocaml/xenctrl: Make failwith_xc() thread safe
>>>>>> 1a010ca99e9b ocaml/xenctrl: Fix stub_xc_readconsolering()
>>>>>> 96e0ee8386cf tools/hotplug: systemd: Don't ever kill xenstored
>>>>>> 588df84c0d70 tools/xenconsoled: Increase file descriptor limit
> I have just pushed these to staging-4.5.
>
> Jim Fehlig writes ("Re: [Xen-devel] Tools backports for 4.5"):
>> I responded to Jan's "preparing for 4.5.1" mail with backport requests
>> that I currently don't see in staging-4.5
>>
>> http://lists.xen.org/archives/html/xen-devel/2015-04/msg00168.html
> Thanks, I have pushed those three to staging-4.5 too.
>
> The above backports (771f857e..9d5b2b01) need to go to 4.4 and
> earlier as applicable.  I will look at that soon (probably tomorrow).
>
> I have also picked up the fix to XSA-133 into all the qemu-trad trees
> back to 4.2 inclusive.  (4.1 is no longer receiving even security
> fixes and has had no commits since 2013.)
>
> I think that's all the outstanding tools backports for the 4.5 branch.

There is still a build fix from XSA-125 which as still even not been
accepted into staging.  This has been outstanding for 6 weeks now.

<1428940983-8709-1-git-send-email-andrew.cooper3@citrix.com>

~Andrew

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Tools backports for 4.5 [and 1 more messages]
  2015-05-27 16:09         ` Tools backports for 4.5 [and 1 more messages] Ian Jackson
  2015-05-27 16:13           ` Andrew Cooper
@ 2015-06-23 13:12           ` Ian Jackson
  2015-06-23 20:06             ` Jim Fehlig
  1 sibling, 1 reply; 10+ messages in thread
From: Ian Jackson @ 2015-06-23 13:12 UTC (permalink / raw)
  To: Jim Fehlig, Jan Beulich, Andrew Cooper, xen-devel

Ian Jackson writes ("Re: [Xen-devel] Tools backports for 4.5 [and 1 more messages]"):
> Jan Beulich writes ("Re: [Xen-devel] Tools backports for 4.5"):
> > >>>> 3380f5b6270e ocaml/xenctrl: Check return values from hypercalls
> > >>>> c8945d516134 ocaml/xenctrl: Make failwith_xc() thread safe
> > >>>> 1a010ca99e9b ocaml/xenctrl: Fix stub_xc_readconsolering()
> > >>>> 96e0ee8386cf tools/hotplug: systemd: Don't ever kill xenstored
> > >>>> 588df84c0d70 tools/xenconsoled: Increase file descriptor limit
...
> The above backports (771f857e..9d5b2b01) need to go to 4.4 and
> earlier as applicable.  I will look at that soon (probably tomorrow).

These:

  libxl: Domain destroy: unlock userdata earlier
  libxl: Domain destroy: fork
  tools/hotplug: systemd: Don't ever kill xenstored
  libxl: In libxl_set_vcpuonline check for maximum number of VCPUs against the cpumap

Did not apply cleanly to 4.4.

Ian.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Tools backports for 4.5 [and 1 more messages]
  2015-06-23 13:12           ` Ian Jackson
@ 2015-06-23 20:06             ` Jim Fehlig
  2015-06-26 19:35               ` Jim Fehlig
  0 siblings, 1 reply; 10+ messages in thread
From: Jim Fehlig @ 2015-06-23 20:06 UTC (permalink / raw)
  To: Ian Jackson, Jan Beulich, Andrew Cooper, xen-devel

On 06/23/2015 07:12 AM, Ian Jackson wrote:
> Ian Jackson writes ("Re: [Xen-devel] Tools backports for 4.5 [and 1 more messages]"):
>> Jan Beulich writes ("Re: [Xen-devel] Tools backports for 4.5"):
>>>>>>> 3380f5b6270e ocaml/xenctrl: Check return values from hypercalls
>>>>>>> c8945d516134 ocaml/xenctrl: Make failwith_xc() thread safe
>>>>>>> 1a010ca99e9b ocaml/xenctrl: Fix stub_xc_readconsolering()
>>>>>>> 96e0ee8386cf tools/hotplug: systemd: Don't ever kill xenstored
>>>>>>> 588df84c0d70 tools/xenconsoled: Increase file descriptor limit
> ...
>> The above backports (771f857e..9d5b2b01) need to go to 4.4 and
>> earlier as applicable.  I will look at that soon (probably tomorrow).
> These:
>
>    libxl: Domain destroy: unlock userdata earlier
>    libxl: Domain destroy: fork
>    tools/hotplug: systemd: Don't ever kill xenstored
>    libxl: In libxl_set_vcpuonline check for maximum number of VCPUs against the cpumap
>
> Did not apply cleanly to 4.4.

Sorry if I asked for these in 4.4.  My request was meant for 4.5 only.

Regards,
Jim

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Tools backports for 4.5 [and 1 more messages]
  2015-06-23 20:06             ` Jim Fehlig
@ 2015-06-26 19:35               ` Jim Fehlig
  0 siblings, 0 replies; 10+ messages in thread
From: Jim Fehlig @ 2015-06-26 19:35 UTC (permalink / raw)
  To: Ian Jackson, Jan Beulich, Andrew Cooper, xen-devel

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

On 06/23/2015 02:06 PM, Jim Fehlig wrote:
> On 06/23/2015 07:12 AM, Ian Jackson wrote:
>> Ian Jackson writes ("Re: [Xen-devel] Tools backports for 4.5 [and 1 more 
>> messages]"):
>>> Jan Beulich writes ("Re: [Xen-devel] Tools backports for 4.5"):
>>>>>>>> 3380f5b6270e ocaml/xenctrl: Check return values from hypercalls
>>>>>>>> c8945d516134 ocaml/xenctrl: Make failwith_xc() thread safe
>>>>>>>> 1a010ca99e9b ocaml/xenctrl: Fix stub_xc_readconsolering()
>>>>>>>> 96e0ee8386cf tools/hotplug: systemd: Don't ever kill xenstored
>>>>>>>> 588df84c0d70 tools/xenconsoled: Increase file descriptor limit
>> ...
>>> The above backports (771f857e..9d5b2b01) need to go to 4.4 and
>>> earlier as applicable.  I will look at that soon (probably tomorrow).
>> These:
>>
>>    libxl: Domain destroy: unlock userdata earlier

4.4 doesn't have lock/unlock functions for the userdata store, so not sure why 
this one is needed.

>>
>>    libxl: Domain destroy: fork

Attached is my stab at backporting this one, which helps the libvirt libxl 
driver quite a bit.

>>    tools/hotplug: systemd: Don't ever kill xenstored
>>    libxl: In libxl_set_vcpuonline check for maximum number of VCPUs against 
>> the cpumap

I didn't request these, and they don't fix any particular headache for me, so I 
didn't look further.

Regards,
Jim


[-- Attachment #2: libxl-Domain-destroy-fork.patch --]
[-- Type: text/x-diff, Size: 5035 bytes --]

>From 0e447fed880e302e053f486180b1f6c22f515403 Mon Sep 17 00:00:00 2001
From: Ian Jackson <ian.jackson@eu.citrix.com>
Date: Thu, 5 Mar 2015 16:28:04 +0000
Subject: [PATCH] libxl: Domain destroy: fork

Call xc_domain_destroy in a subprocess.  That allows us to do so
asynchronously, rather than blocking the whole process calling libxl.

The changes in detail:

 * Provide an libxl__ev_child in libxl__domain_destroy_state, and
   initialise it in libxl__domain_destroy.  There is no possibility
   to `clean up' a libxl__ev_child, but there need to clean it up, as
   the control flow ensures that we only continue after the child has
   exited.

 * Call libxl__ev_child_fork at the right point and put the call to
   xc_domain_destroy and associated logging in the child.  (The child
   opens a new xenctrl handle because we mustn't use the parent's.)

 * Consequently, the success return path from domain_destroy_domid_cb
   no longer calls dis->callback.  Instead it simply returns.

 * We plumb the errorno value through the child's exit status, if it
   fits.  This means we normally do the logging only in the parent.

 * Incidentally, we fix the bug that we were treating the return value
   from xc_domain_destroy as an errno value when in fact it is a
   return value from do_domctl (in this case, 0 or -1 setting errno).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
Tested-by: Jim Fehlig <jfehlig@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>

Conflicts:
	tools/libxl/libxl.c

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
---
 tools/libxl/libxl.c          | 57 ++++++++++++++++++++++++++++++++++++++++----
 tools/libxl/libxl_internal.h |  1 +
 2 files changed, 53 insertions(+), 5 deletions(-)

diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
index 59e3292..d91a178 100644
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1367,6 +1367,10 @@ static void devices_destroy_cb(libxl__egc *egc,
                                libxl__devices_remove_state *drs,
                                int rc);
 
+static void domain_destroy_domid_cb(libxl__egc *egc,
+                                    libxl__ev_child *destroyer,
+                                    pid_t pid, int status);
+
 void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
 {
     STATE_AO_GC(dis->ao);
@@ -1376,6 +1380,8 @@ void libxl__destroy_domid(libxl__egc *egc, libxl__destroy_domid_state *dis)
     char *pid;
     int rc, dm_present;
 
+    libxl__ev_child_init(&dis->destroyer);
+
     rc = libxl_domain_info(ctx, NULL, domid);
     switch(rc) {
     case 0:
@@ -1472,17 +1478,58 @@ static void devices_destroy_cb(libxl__egc *egc,
 
     libxl__userdata_destroyall(gc, domid);
 
-    rc = xc_domain_destroy(ctx->xch, domid);
-    if (rc < 0) {
-        LIBXL__LOG_ERRNOVAL(ctx, LIBXL__LOG_ERROR, rc, "xc_domain_destroy failed for %d", domid);
+    rc = libxl__ev_child_fork(gc, &dis->destroyer, domain_destroy_domid_cb);
+    if (rc < 0) goto out;
+    if (!rc) { /* child */
+        ctx->xch = xc_interface_open(ctx->lg,0,0);
+        if (!ctx->xch) goto badchild;
+
+        rc = xc_domain_destroy(ctx->xch, domid);
+        if (rc < 0) goto badchild;
+        _exit(0);
+
+    badchild:
+        if (errno > 0  && errno < 126) {
+            _exit(errno);
+        } else {
+            LOGE(ERROR,
+ "xc_domain_destroy failed for %d (with difficult errno value %d)",
+                 domid, errno);
+            _exit(-1);
+        }
+    }
+    LOG(INFO, "forked pid %ld for destroy of domain %d", (long)rc, domid);
+
+    return;
+
+out:
+    dis->callback(egc, dis, rc);
+    return;
+}
+
+static void domain_destroy_domid_cb(libxl__egc *egc,
+                                    libxl__ev_child *destroyer,
+                                    pid_t pid, int status)
+{
+    libxl__destroy_domid_state *dis = CONTAINER_OF(destroyer, *dis, destroyer);
+    STATE_AO_GC(dis->ao);
+    int rc;
+
+    if (status) {
+        if (WIFEXITED(status) && WEXITSTATUS(status)<126) {
+            LOGEV(ERROR, WEXITSTATUS(status),
+                  "xc_domain_destroy failed for %"PRIu32"", dis->domid);
+        } else {
+            libxl_report_child_exitstatus(CTX, XTL_ERROR,
+                                          "async domain destroy", pid, status);
+        }
         rc = ERROR_FAIL;
         goto out;
     }
     rc = 0;
 
-out:
+ out:
     dis->callback(egc, dis, rc);
-    return;
 }
 
 int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num,
diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 9d17586..df63757 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -2466,6 +2466,7 @@ struct libxl__destroy_domid_state {
     libxl__domid_destroy_cb *callback;
     /* private to implementation */
     libxl__devices_remove_state drs;
+    libxl__ev_child destroyer;
 };
 
 struct libxl__domain_destroy_state {
-- 
2.1.4


[-- Attachment #3: Type: text/plain, Size: 126 bytes --]

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

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-06-26 19:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <5551FE38.9050208@citrix.com>
2015-05-12 14:56 ` Tools backports for 4.5 Ian Jackson
2015-05-12 15:20   ` Jan Beulich
2015-05-12 15:22     ` Andrew Cooper
2015-05-12 15:29       ` Jan Beulich
2015-05-27 16:09         ` Tools backports for 4.5 [and 1 more messages] Ian Jackson
2015-05-27 16:13           ` Andrew Cooper
2015-06-23 13:12           ` Ian Jackson
2015-06-23 20:06             ` Jim Fehlig
2015-06-26 19:35               ` Jim Fehlig
2015-05-12 20:59   ` Tools backports for 4.5 Jim Fehlig

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.