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

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