All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jürgen Groß" <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>, Wei Liu <wl@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v11 00/27] tools/xenstore: support live update for xenstored
Date: Thu, 14 Jan 2021 17:48:39 +0100	[thread overview]
Message-ID: <6b660f98-d6b0-bd2a-9d70-bd75a94e0beb@suse.com> (raw)
In-Reply-To: <20210114153803.2591-1-jgross@suse.com>


[-- Attachment #1.1.1: Type: text/plain, Size: 4955 bytes --]

On 14.01.21 16:37, Juergen Gross wrote:
> Today Xenstore is not restartable. This means a Xen server needing an
> update of xenstored has to be rebooted in order to let this update
> become effective.
> 
> This patch series is changing that: The internal state of xenstored
> (the contents of Xenstore, all connections to various clients like
> programs or other domains, and watches) is saved in a defined format
> and a new binary is being activated consuming the old state. All
> connections are being restored and the new Xenstore binary will
> continue where the old one stopped.
> 
> This patch series has been under (secret) development until V9.
> It has been posted to xen-devel only from V10 onwards.
> 
> There will be a similar series for oxenstored posted.
> 
> Xenstore-stubdom is not yet supported, but I'm planning to start
> working on that soon.
> 
> Changes in V11:
> - dropped patches 1-3 of V10 as already appled
> - new patches 1-4 (Andrew Cooper): more libxenevtchn cleanup
> - new patch 12 (Edwin Torok): handle timeout of LU completely in
>    xenstored instead of split xenstore-control/xenstored. I've kept
>    the xenstore-control timeout handling for the case of premature
>    LU supporting downstream versions
> 
> Changes in V10 (for the members of the security team):
> - dropped patch 6 as requested by Andrew
> 
> Juergen Gross (26):
>    tools/libxenevtchn: switch to standard xen coding style
>    tools/libxenevtchn: rename open_flags to flags
>    tools/libxenevtchn: check xenevtchn_open() flags for not supported
>      bits
>    tools/libxenevtchn: propagate xenevtchn_open() flags parameter
>    tools/libxenevtchn: add possibility to not close file descriptor on
>      exec
>    tools/xenstore: refactor XS_CONTROL handling
>    tools/xenstore: add live update command to xenstore-control
>    tools/xenstore: add basic live-update command parsing
>    tools/xenstore: introduce live update status block
>    tools/xenstore: save new binary for live update
>    tools/xenstore: add command line handling for live update
>    tools/xenstore: add support for delaying execution of a xenstore
>      request
>    tools/xenstore: add the basic framework for doing the live update
>    tools/xenstore: allow live update only with no transaction active
>    docs: update the xenstore migration stream documentation
>    tools/xenstore: add include file for state structure definitions
>    tools/xenstore: dump the xenstore state for live update
>    tools/xenstore: handle CLOEXEC flag for local files and pipes
>    tools/xenstore: split off domain introduction from do_introduce()
>    tools/xenstore: evaluate the live update flag when starting
>    tools/xenstore: read internal state when doing live upgrade
>    tools/xenstore: add reading global state for live update
>    tools/xenstore: add read connection state for live update
>    tools/xenstore: add read node state for live update
>    tools/xenstore: add read watch state for live update
>    tools/xenstore: activate new binary for live update
> 
> Julien Grall (1):
>    tools/xenstore: handle dying domains in live update
> 
>   docs/designs/xenstore-migration.md      |  19 +-
>   docs/misc/xenstore.txt                  |  21 +
>   tools/include/xenevtchn.h               |  18 +-
>   tools/libs/evtchn/Makefile              |   2 +-
>   tools/libs/evtchn/core.c                |  74 ++-
>   tools/libs/evtchn/freebsd.c             |  33 +-
>   tools/libs/evtchn/libxenevtchn.map      |   4 +
>   tools/libs/evtchn/linux.c               |  12 +-
>   tools/libs/evtchn/minios.c              | 104 +++-
>   tools/libs/evtchn/netbsd.c              |  24 +-
>   tools/libs/evtchn/private.h             |   2 +-
>   tools/libs/evtchn/solaris.c             |  14 +-
>   tools/xenstore/Makefile                 |   3 +-
>   tools/xenstore/include/xenstore_state.h | 131 +++++
>   tools/xenstore/utils.c                  |  17 +
>   tools/xenstore/utils.h                  |   6 +
>   tools/xenstore/xenstore_control.c       | 333 +++++++++++-
>   tools/xenstore/xenstored_control.c      | 665 +++++++++++++++++++++++-
>   tools/xenstore/xenstored_control.h      |   1 +
>   tools/xenstore/xenstored_core.c         | 549 +++++++++++++++++--
>   tools/xenstore/xenstored_core.h         |  59 +++
>   tools/xenstore/xenstored_domain.c       | 301 ++++++++---
>   tools/xenstore/xenstored_domain.h       |  11 +-
>   tools/xenstore/xenstored_posix.c        |  13 +-
>   tools/xenstore/xenstored_transaction.c  |   5 +
>   tools/xenstore/xenstored_watch.c        | 171 ++++--
>   tools/xenstore/xenstored_watch.h        |   5 +
>   27 files changed, 2354 insertions(+), 243 deletions(-)
>   create mode 100644 tools/xenstore/include/xenstore_state.h
> 

There is something wrong with the patches. Please ignore (at least from
patch 12 onwards).


Juergen

[-- Attachment #1.1.2: OpenPGP_0xB0DE9DD628BF132F.asc --]
[-- Type: application/pgp-keys, Size: 3135 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

      parent reply	other threads:[~2021-01-14 16:49 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-14 15:37 [PATCH v11 00/27] tools/xenstore: support live update for xenstored Juergen Gross
2021-01-14 15:37 ` [PATCH v11 01/27] tools/libxenevtchn: switch to standard xen coding style Juergen Gross
2021-01-14 19:07   ` Andrew Cooper
2021-01-15  6:13     ` Jürgen Groß
2021-01-14 15:37 ` [PATCH v11 02/27] tools/libxenevtchn: rename open_flags to flags Juergen Gross
2021-01-14 19:22   ` Andrew Cooper
2021-01-15  6:14     ` Jürgen Groß
2021-01-14 15:37 ` [PATCH v11 03/27] tools/libxenevtchn: check xenevtchn_open() flags for not supported bits Juergen Gross
2021-01-14 19:24   ` Andrew Cooper
2021-01-15  6:19     ` Jürgen Groß
2021-01-14 15:37 ` [PATCH v11 04/27] tools/libxenevtchn: propagate xenevtchn_open() flags parameter Juergen Gross
2021-01-14 19:26   ` Andrew Cooper
2021-01-14 15:37 ` [PATCH v11 05/27] tools/libxenevtchn: add possibility to not close file descriptor on exec Juergen Gross
2021-01-15  1:01   ` Andrew Cooper
2021-01-15  7:11     ` Jürgen Groß
2021-01-14 15:37 ` [PATCH v11 06/27] tools/xenstore: refactor XS_CONTROL handling Juergen Gross
2021-01-14 15:37 ` [PATCH v11 07/27] tools/xenstore: add live update command to xenstore-control Juergen Gross
2021-01-14 15:37 ` [PATCH v11 08/27] tools/xenstore: add basic live-update command parsing Juergen Gross
2021-01-14 15:37 ` [PATCH v11 09/27] tools/xenstore: introduce live update status block Juergen Gross
2021-01-14 15:37 ` [PATCH v11 10/27] tools/xenstore: save new binary for live update Juergen Gross
2021-01-14 15:37 ` [PATCH v11 11/27] tools/xenstore: add command line handling " Juergen Gross
2021-01-14 15:37 ` [PATCH v11 12/27] tools/xenstore: add support for delaying execution of a xenstore request Juergen Gross
2021-01-14 15:37 ` [PATCH v11 13/27] tools/xenstore: add the basic framework for doing the live update Juergen Gross
2021-01-14 15:37 ` [PATCH v11 14/27] tools/xenstore: allow live update only with no transaction active Juergen Gross
2021-01-14 15:37 ` [PATCH v11 15/27] docs: update the xenstore migration stream documentation Juergen Gross
2021-01-14 15:37 ` [PATCH v11 16/27] tools/xenstore: add include file for state structure definitions Juergen Gross
2021-01-14 15:37 ` [PATCH v11 17/27] tools/xenstore: dump the xenstore state for live update Juergen Gross
2021-01-14 15:37 ` [PATCH v11 18/27] tools/xenstore: handle CLOEXEC flag for local files and pipes Juergen Gross
2021-01-14 15:37 ` [PATCH v11 19/27] tools/xenstore: split off domain introduction from do_introduce() Juergen Gross
2021-01-14 15:37 ` [PATCH v11 20/27] tools/xenstore: evaluate the live update flag when starting Juergen Gross
2021-01-14 15:37 ` [PATCH v11 21/27] tools/xenstore: read internal state when doing live upgrade Juergen Gross
2021-01-14 15:37 ` [PATCH v11 22/27] tools/xenstore: add reading global state for live update Juergen Gross
2021-01-14 15:37 ` [PATCH v11 23/27] tools/xenstore: add read connection " Juergen Gross
2021-01-14 15:38 ` [PATCH v11 24/27] tools/xenstore: add read node " Juergen Gross
2021-01-14 15:38 ` [PATCH v11 25/27] tools/xenstore: add read watch " Juergen Gross
2021-01-14 15:38 ` [PATCH v11 26/27] tools/xenstore: handle dying domains in " Juergen Gross
2021-01-14 15:38 ` [PATCH v11 27/27] tools/xenstore: activate new binary for " Juergen Gross
2021-01-14 16:48 ` Jürgen Groß [this message]

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=6b660f98-d6b0-bd2a-9d70-bd75a94e0beb@suse.com \
    --to=jgross@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=george.dunlap@citrix.com \
    --cc=iwj@xenproject.org \
    --cc=jbeulich@suse.com \
    --cc=julien@xen.org \
    --cc=sstabellini@kernel.org \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.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 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.