diff --git a/docs/schemas/capability.rng b/docs/schemas/capability.rng
index aee03d7fcd..d2d9776e49 100644
--- a/docs/schemas/capability.rng
+++ b/docs/schemas/capability.rng
@@ -371,6 +371,12 @@
+
+
+
+
+
+
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 1e55121ade..1df7653eaf 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -702,6 +702,7 @@ virQEMUCapsInitGuest(virCapsPtr caps,
virQEMUCapsPtr qemubinCaps = NULL;
virQEMUCapsPtr kvmbinCaps = NULL;
int ret = -1;
+ bool hasdisksnapshot = false;
/* Check for existence of base emulator, or alternate base
* which can be used with magic cpu choice
@@ -789,6 +790,12 @@ virQEMUCapsInitGuest(virCapsPtr caps,
!virCapabilitiesAddGuestFeature(guest, "deviceboot", 1, 0))
goto error;
+ if (virQEMUCapsGet(qemubinCaps, QEMU_CAPS_DISK_SNAPSHOT))
+ hasdisksnapshot = true;
+
+ if (!virCapabilitiesAddGuestFeature(guest, "disksnapshot", hasdisksnapshot, 0))
+ goto error;
+
if (virCapabilitiesAddGuestDomain(guest,
"qemu",
NULL,