|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v3 5/5] tools/xenstore: add migration stream extensions for new features
Extend the definition of the Xenstore migration stream to cover new
features:
- per domain features
- extended watches (watch depth)
- per domain quota
Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
---
V3:
- new patch
---
docs/designs/xenstore-migration.md | 85 ++++++++++++++++++++++++++++--
1 file changed, 82 insertions(+), 3 deletions(-)
diff --git a/docs/designs/xenstore-migration.md
b/docs/designs/xenstore-migration.md
index efa526f420..b2b1d3d5c7 100644
--- a/docs/designs/xenstore-migration.md
+++ b/docs/designs/xenstore-migration.md
@@ -43,7 +43,13 @@ the setting of the endianness bit.
|-----------|---------------------------------------------------|
| `ident` | 0x78656e73746f7265 ('xenstore' in ASCII) |
| | |
-| `version` | 0x00000001 (the version of the specification) |
+| `version` | The version of the specification, defined values: |
+| | 0x00000001: all fields without any explicitly |
+| | mentioned version dependency are |
+| | valid. |
+| | 0x00000002: all fields valid for version 1 plus |
+| | fields explicitly stated to be |
+| | supported in version 2 are valid. |
| | |
| `flags` | 0 (LSB): Endianness: 0 = little, 1 = big |
| | |
@@ -117,7 +123,17 @@ xenstored state that needs to be restored.
| rw-socket-fd |
+-------------------------------+
| evtchn-fd |
++---------------+---------------+
+| n-dom-quota | n-glob-quota |
++---------------+---------------+
+| quota-val 1 |
++-------------------------------+
+...
+-------------------------------+
+| quota-val N |
++-------------------------------+
+| quota-names
+...
```
@@ -128,6 +144,22 @@ xenstored state that needs to be restored.
| | |
| `evtchn-fd` | The file descriptor used to communicate with |
| | the event channel driver |
+| | |
+| `n-dom-quota` | Number of quota values which apply per |
+| | domain. Valid only for version 2 and later. |
+| | |
+| `n-glob-quota` | Number of quota values which apply globally |
+| | only. Valid only for version 2 and later. |
+| | |
+| `quota-val` | Quota values, first the ones applying per |
+| | domain, then the ones applying globally. A |
+| | value of 0 has the semantics of "unlimited". |
+| | Valid only for version 2 and later. |
+| | |
+| `quota-names` | 0 delimited strings of the quota names in |
+| | the same sequence as the `quota-val` values. |
+| | Valid only for version 2 and later. |
+
xenstored will resume in the original process context. Hence `rw-socket-fd`
simply specifies the file descriptor of the socket. Sockets are not always
@@ -145,7 +177,7 @@ the domain being migrated.
```
0 1 2 3 4 5 6 7 octet
+-------+-------+-------+-------+-------+-------+-------+-------+
-| conn-id | conn-type | |
+| conn-id | conn-type | n-quota |
+-------------------------------+---------------+---------------+
| conn-spec
...
@@ -154,6 +186,17 @@ the domain being migrated.
+---------------+---------------+-------------------------------+
| data
...
++-------------------------------+
+| features |
++-------------------------------+
+| quota-val 1 |
++-------------------------------+
+...
++-------------------------------+
+| quota-val N |
++-------------------------------+
+| quota-names
+...
```
@@ -167,6 +210,10 @@ the domain being migrated.
| | 0x0001: socket |
| | 0x0002 - 0xFFFF: reserved for future use |
| | |
+| `n-quota` | Number of quota values. |
+| | Only for `conn-type` 0 (shared ring). |
+| | Only valid for version 2 and later. |
+| | |
| `conn-spec` | See below |
| | |
| `in-data-len` | The length (in octets) of any data read |
@@ -182,6 +229,22 @@ the domain being migrated.
| `data` | Pending data: first in-data-len octets of |
| | read data, then out-data-len octets of |
| | written data (any of both may be empty) |
+| | |
+| `features` | Value of the feature field visible by the |
+| | guest at offset 2064 of the ring page. |
+| | Aligned to the next 4 octet boundary. |
+| | Only for `conn-type` 0 (shared ring). |
+| | Only valid for version 2 and later. |
+| | |
+| `quota-val` | Quota values, a value of 0 has the semantics |
+| | "unlimited". |
+| | Only for `conn-type` 0 (shared ring). |
+| | Only valid for version 2 and later. |
+| | |
+| `quota-names` | 0 delimited strings of the quota names in |
+| | the same sequence as the `quota-val` values. |
+| | Only for `conn-type` 0 (shared ring). |
+| | Only valid for version 2 and later. |
In case of live update the connection record for the connection via which
the live update command was issued will contain the response for the live
@@ -247,7 +310,7 @@ by a connection for which there is `CONNECTION_DATA` record
previously present.
```
0 1 2 3 octet
-+-------+-------+-------+-------+
++---------------+---------------+
| conn-id |
+---------------+---------------+
| wpath-len | token-len |
@@ -256,6 +319,9 @@ by a connection for which there is `CONNECTION_DATA` record
previously present.
...
| token
...
++---------------+---------------+
+| depth | |
++---------------+---------------+
```
@@ -275,6 +341,13 @@ by a connection for which there is `CONNECTION_DATA`
record previously present.
| | |
| `token` | The watch identifier token, as specified in the |
| | `WATCH` operation |
+| | |
+| `depth` | The number of directory levels below the |
+| | watched path to consider for a match. This |
+| | field is aligned to the next 4 octet boundary. |
+| | A value of 0xffff is used for unlimited depth. |
+| | This field is valid only for version 2 and |
+| | higher. |
\pagebreak
@@ -406,6 +479,12 @@ A node permission specifier has the following format:
Note that perm1 defines the domain owning the node. See [4] for more
explanation of node permissions.
+\pagebreak
+
+### DOMAIN_DATA
+
+
+
* * *
[1] See
https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/designs/non-cooperative-migration.md
--
2.35.3
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |