aboutsummaryrefslogtreecommitdiff
path: root/blockdev.c
diff options
context:
space:
mode:
authorJohn Snow <jsnow@redhat.com>2018-09-06 09:02:25 -0400
committerMax Reitz <mreitz@redhat.com>2018-09-25 15:31:15 +0200
commit66da04ddd3dcb8c61ee664b6faced132da002006 (patch)
tree0647e850f72f6043814b1c6067f2d9d31a8071fa /blockdev.c
parentdfaff2c37dfa52ab045cf87503e60ea56317230a (diff)
downloadqemu-66da04ddd3dcb8c61ee664b6faced132da002006.zip
qemu-66da04ddd3dcb8c61ee664b6faced132da002006.tar.gz
qemu-66da04ddd3dcb8c61ee664b6faced132da002006.tar.bz2
blockdev: document transactional shortcomings
Presently only the backup job really guarantees what one would consider transactional semantics. To guard against someone helpfully adding them in the future, document that there are shortcomings in the model that would need to be audited at that time. Signed-off-by: John Snow <jsnow@redhat.com> Message-id: 20180906130225.5118-17-jsnow@redhat.com Reviewed-by: Jeff Cody <jcody@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'blockdev.c')
-rw-r--r--blockdev.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/blockdev.c b/blockdev.c
index 0cf8feb..d4b4240 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -2182,7 +2182,13 @@ static const BlkActionOps actions[] = {
.instance_size = sizeof(BlockDirtyBitmapState),
.prepare = block_dirty_bitmap_disable_prepare,
.abort = block_dirty_bitmap_disable_abort,
- }
+ },
+ /* Where are transactions for MIRROR, COMMIT and STREAM?
+ * Although these blockjobs use transaction callbacks like the backup job,
+ * these jobs do not necessarily adhere to transaction semantics.
+ * These jobs may not fully undo all of their actions on abort, nor do they
+ * necessarily work in transactions with more than one job in them.
+ */
};
/**