Blame SOURCES/kvm-blockdev-document-transactional-shortcomings.patch

383d26
From 3e0ff815da32944228b49c4ad33957c63dfd0f99 Mon Sep 17 00:00:00 2001
383d26
From: John Snow <jsnow@redhat.com>
383d26
Date: Mon, 10 Sep 2018 18:18:03 +0200
383d26
Subject: [PATCH 25/25] blockdev: document transactional shortcomings
383d26
383d26
RH-Author: John Snow <jsnow@redhat.com>
383d26
Message-id: <20180910181803.11781-26-jsnow@redhat.com>
383d26
Patchwork-id: 82087
383d26
O-Subject: [RHEL-7.6 qemu-kvm-rhev PATCH 25/25] blockdev: document transactional shortcomings
383d26
Bugzilla: 1626061
383d26
RH-Acked-by: Max Reitz <mreitz@redhat.com>
383d26
RH-Acked-by: Jeffrey Cody <jcody@redhat.com>
383d26
RH-Acked-by: Kevin Wolf <kwolf@redhat.com>
383d26
383d26
Presently only the backup job really guarantees what one would consider
383d26
transactional semantics. To guard against someone helpfully adding them
383d26
in the future, document that there are shortcomings in the model that
383d26
would need to be audited at that time.
383d26
383d26
Signed-off-by: John Snow <jsnow@redhat.com>
383d26
Message-id: 20180906130225.5118-17-jsnow@redhat.com
383d26
Reviewed-by: Jeff Cody <jcody@redhat.com>
383d26
Reviewed-by: Max Reitz <mreitz@redhat.com>
383d26
Signed-off-by: Max Reitz <mreitz@redhat.com>
383d26
(cherry picked from commit 97169e9959811e92e14c42afa0ec1fdeb09715ea)
383d26
Signed-off-by: John Snow <jsnow@redhat.com>
383d26
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
383d26
---
383d26
 blockdev.c | 8 +++++++-
383d26
 1 file changed, 7 insertions(+), 1 deletion(-)
383d26
383d26
diff --git a/blockdev.c b/blockdev.c
383d26
index 6325471..0eb6bba 100644
383d26
--- a/blockdev.c
383d26
+++ b/blockdev.c
383d26
@@ -2333,7 +2333,13 @@ static const BlkActionOps actions[] = {
383d26
         .instance_size = sizeof(BlockDirtyBitmapState),
383d26
         .prepare = block_dirty_bitmap_disable_prepare,
383d26
         .abort = block_dirty_bitmap_disable_abort,
383d26
-     }
383d26
+    },
383d26
+    /* Where are transactions for MIRROR, COMMIT and STREAM?
383d26
+     * Although these blockjobs use transaction callbacks like the backup job,
383d26
+     * these jobs do not necessarily adhere to transaction semantics.
383d26
+     * These jobs may not fully undo all of their actions on abort, nor do they
383d26
+     * necessarily work in transactions with more than one job in them.
383d26
+     */
383d26
 };
383d26
 
383d26
 /**
383d26
-- 
383d26
1.8.3.1
383d26