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

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