38 lines
1.5 KiB
Diff
38 lines
1.5 KiB
Diff
|
From e258560116c8413cd5c52af69ab73dc82142dae9 Mon Sep 17 00:00:00 2001
|
||
|
From: "Michael S. Tsirkin" <mst@redhat.com>
|
||
|
Date: Thu, 3 Apr 2014 19:50:35 +0300
|
||
|
Subject: [PATCH] vmstate: add VMSTATE_VALIDATE
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
Validate state using VMS_ARRAY with num = 0 and VMS_MUST_EXIST
|
||
|
|
||
|
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
|
||
|
Signed-off-by: Juan Quintela <quintela@redhat.com>
|
||
|
(cherry picked from commit 4082f0889ba04678fc14816c53e1b9251ea9207e)
|
||
|
Signed-off-by: Andreas Färber <afaerber@suse.de>
|
||
|
---
|
||
|
include/migration/vmstate.h | 8 ++++++++
|
||
|
1 file changed, 8 insertions(+)
|
||
|
|
||
|
diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
|
||
|
index de970ab..5b71370 100644
|
||
|
--- a/include/migration/vmstate.h
|
||
|
+++ b/include/migration/vmstate.h
|
||
|
@@ -204,6 +204,14 @@ extern const VMStateInfo vmstate_info_bitmap;
|
||
|
.offset = vmstate_offset_value(_state, _field, _type), \
|
||
|
}
|
||
|
|
||
|
+/* Validate state using a boolean predicate. */
|
||
|
+#define VMSTATE_VALIDATE(_name, _test) { \
|
||
|
+ .name = (_name), \
|
||
|
+ .field_exists = (_test), \
|
||
|
+ .flags = VMS_ARRAY | VMS_MUST_EXIST, \
|
||
|
+ .num = 0, /* 0 elements: no data, only run _test */ \
|
||
|
+}
|
||
|
+
|
||
|
#define VMSTATE_POINTER(_field, _state, _version, _info, _type) { \
|
||
|
.name = (stringify(_field)), \
|
||
|
.version_id = (_version), \
|