xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [PATCH v1 06/12] libxl: add support for different hotplug interfaces
Date: Fri, 15 Mar 2013 12:03:07 +0100	[thread overview]
Message-ID: <5142FFEB.8060208@citrix.com> (raw)
In-Reply-To: <20800.42628.553623.496721@mariner.uk.xensource.com>

On 13/03/13 17:17, Ian Jackson wrote:
> Roger Pau Monne writes ("[Xen-devel] [PATCH v1 06/12] libxl: add support for different hotplug interfaces"):
>> Add a new variable to libxl_device_disk "hotplug_version", that will
>> be automatically set to the detected hotplug script interface version.
> ...
>> +    /*
>> +     * We might have devices that have been prepared, but with no
>> +     * frontend xenstore entries, so domain destruction fails to
>> +     * find them, that is why we have to unprepare them manually.
>> +     */
>> +    libxl__multidev_begin(ao, &dcs->multidev);
>> +    dcs->multidev.callback = domcreate_unprepare_cb;
>> +    libxl__unprepare_disks(egc, ao, domid, d_config, &dcs->multidev);
>> +    libxl__multidev_prepared(egc, &dcs->multidev, 0);
>> +    return;
> 
> I don't think this is correct.  What if the calling application
> crashes and this code is never executed ?  Then libxl_destroy would
> leak this state.
> 
> So I think you need to record the preparedness somewhere where
> libxl_destroy can find it.

Right, I've added a new xenstore path that has the following nomenclature:

/libxl/<domid>/hotplug/status/<devid>

Note that it doesn't contain the backend domid, so it can be parsed
inside libxl__devices_destroy in order to find devices using the new
hotplug interface (even devices that have been prepared but not attached
to the domain).

This path is created after the device has been prepared, and is cleaned
after the device has been unprepared. It only contains the necessary
information to be able to fill a libxl__device struct.

  reply	other threads:[~2013-03-15 11:03 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-17 15:47 [PATCH v3 0/7] libxl: new hotplug calling convention Roger Pau Monne
2013-04-17 15:47 ` [PATCH v3 1/7] libxl: group hotplug related variables Roger Pau Monne
2013-04-17 15:47 ` [PATCH v3 2/7] libxl: add new hotplug interface support to hotplug script callers Roger Pau Monne
2013-03-18 11:47   ` [PATCH v2] libxl: new hotplug calling convention Roger Pau Monne
2013-03-18 11:47     ` [PATCH v2 1/7] libxl: group hotplug related variables Roger Pau Monne
2013-03-18 11:47     ` [PATCH v2 2/7] libxl: add new hotplug interface support to hotplug script callers Roger Pau Monne
2013-04-11 16:25       ` Ian Jackson
2013-04-16 11:30         ` Roger Pau Monné
2013-04-16 12:06           ` Ian Campbell
2013-04-16 14:42             ` Roger Pau Monné
2013-04-16 15:04           ` Ian Jackson
2013-04-11 16:33       ` Ian Jackson
2013-04-12 13:51         ` Roger Pau Monné
2013-04-18 17:23         ` [PATCH v2 2/7] libxl: add new hotplug interface support to hotplug script callers [and 1 more messages] Ian Jackson
2013-04-18 17:40           ` Roger Pau Monné
2013-04-18 17:52             ` Ian Jackson
2013-04-19  8:10               ` Roger Pau Monné
2013-03-18 11:47     ` [PATCH v2 3/7] libxl: add support for hotplug interface v2 in domain creation/destroy Roger Pau Monne
2013-03-18 11:47     ` [PATCH v2 4/7] libxl: chain prepare and attach in libxl_device_disk_add Roger Pau Monne
2013-03-18 11:47     ` [PATCH v2 5/7] libxl: add disk specific remove functions Roger Pau Monne
2013-01-23 17:48       ` [PATCH v1 0/12] libxl: new hotplug calling convention Roger Pau Monne
2013-01-23 17:48         ` [PATCH v1 01/12] libxl: libxl__prepare_ao_device should reset num_exec Roger Pau Monne
2013-01-25  8:57           ` Ian Campbell
2013-01-23 17:48         ` [PATCH v1 02/12] libxl: remove double check in NetBSD hotplug Roger Pau Monne
2013-03-13 14:45           ` Ian Jackson
2013-01-23 17:48         ` [PATCH v1 03/12] libxl: move libxl_device_action to idl Roger Pau Monne
2013-03-13 14:48           ` Ian Jackson
2013-01-23 17:48         ` [PATCH v1 04/12] libxl: pack hotplug related variables Roger Pau Monne
2013-03-13 14:49           ` Ian Jackson
2013-03-14 16:44             ` Roger Pau Monné
2013-01-23 17:48         ` [PATCH v1 05/12] libxl: add new hotplug interface support to hotplug script callers Roger Pau Monne
2013-03-13 14:53           ` Ian Jackson
2013-03-13 16:04             ` Roger Pau Monné
2013-03-13 16:10               ` Ian Jackson
2013-03-14 17:03                 ` Roger Pau Monné
2013-01-23 17:48         ` [PATCH v1 06/12] libxl: add support for different hotplug interfaces Roger Pau Monne
2013-03-13 16:17           ` Ian Jackson
2013-03-15 11:03             ` Roger Pau Monné [this message]
2013-03-15 11:24               ` Ian Jackson
2013-03-15 11:36                 ` Roger Pau Monné
2013-01-23 17:48         ` [PATCH v1 07/12] libxl: add prepare/unprepare operations to the libxl public interface Roger Pau Monne
2013-03-13 16:19           ` Ian Jackson
2013-03-15 11:33             ` Roger Pau Monné
2013-03-15 11:42               ` Roger Pau Monné
2013-03-15 12:20               ` Ian Jackson
2013-03-15 12:39                 ` Roger Pau Monné
2013-01-23 17:48         ` [PATCH v1 08/12] libxl: add disk specific remove functions Roger Pau Monne
2013-03-13 16:22           ` Ian Jackson
2013-03-15 11:52             ` Roger Pau Monné
2013-04-11 16:17               ` [PATCH v1 08/12] libxl: add disk specific remove functions [and 1 more messages] Ian Jackson
2013-04-15  7:33                 ` Roger Pau Monné
2013-01-23 17:48         ` [PATCH v1 09/12] xl: add support for new hotplug interface to block-attach/detach Roger Pau Monne
2013-03-13 16:22           ` Ian Jackson
2013-03-15 11:54             ` Roger Pau Monné
2013-01-23 17:48         ` [PATCH v1 10/12] libxl: add local attach support for new hotplug scripts Roger Pau Monne
2013-03-13 16:25           ` Ian Jackson
2013-03-15 11:59             ` Roger Pau Monné
2013-01-23 17:48         ` [PATCH v1 11/12] hotplug: document new hotplug interface Roger Pau Monne
2013-03-13 16:29           ` Ian Jackson
2013-03-15 12:29             ` Roger Pau Monné
2013-01-23 17:48         ` [PATCH v1 12/12] hotplug/Linux: add iscsi block hotplug script Roger Pau Monne
2013-03-13 16:31           ` Ian Jackson
2013-03-15 12:08             ` Roger Pau Monné
2013-03-15 12:24               ` Ian Jackson
2013-03-04 11:13         ` [PATCH v1 0/12] libxl: new hotplug calling convention Roger Pau Monné
2013-03-18 11:47     ` [PATCH v2 6/7] libxl: add local attach support for new hotplug scripts Roger Pau Monne
2013-03-18 11:47     ` [PATCH v2 7/7] hotplug/Linux: add iscsi block hotplug script Roger Pau Monne
2013-04-17 15:47 ` [PATCH v3 3/7] libxl: add support for hotplug interface v2 in domain creation/destroy Roger Pau Monne
2013-04-18 17:30   ` Ian Jackson
2013-04-17 15:47 ` [PATCH v3 4/7] libxl: chain prepare and attach in libxl_device_disk_add Roger Pau Monne
2013-04-17 15:47 ` [PATCH v3 5/7] libxl: add disk specific remove functions Roger Pau Monne
2013-04-17 15:47 ` [PATCH v3 6/7] libxl: add local attach support for new hotplug scripts Roger Pau Monne
2013-04-17 15:47 ` [PATCH v3 7/7] hotplug/Linux: add iscsi block hotplug script Roger Pau Monne
2013-04-18 16:28 ` [PATCH v3 0/7] libxl: new hotplug calling convention George Dunlap

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5142FFEB.8060208@citrix.com \
    --to=roger.pau@citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).