qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: qemu-block@nongnu.org, qemu-devel@nongnu.org
Cc: Max Reitz <mreitz@redhat.com>,
	kwolf@redhat.com, Markus Armbruster <armbru@redhat.com>,
	jtc@redhat.com, Jeff Cody <jcody@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	John Snow <jsnow@redhat.com>
Subject: [Qemu-devel] [PATCH v2 03/13] block/stream: add block job creation flags
Date: Thu, 23 Aug 2018 18:22:39 -0400	[thread overview]
Message-ID: <20180823222249.13518-4-jsnow@redhat.com> (raw)
In-Reply-To: <20180823222249.13518-1-jsnow@redhat.com>

Add support for taking and passing forward job creaton flags.

Signed-off-by: John Snow <jsnow@redhat.com>
---
 block/stream.c            | 5 +++--
 blockdev.c                | 3 ++-
 include/block/block_int.h | 5 ++++-
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/block/stream.c b/block/stream.c
index 67e1e72e23..700eb239e4 100644
--- a/block/stream.c
+++ b/block/stream.c
@@ -214,7 +214,8 @@ static const BlockJobDriver stream_job_driver = {
 
 void stream_start(const char *job_id, BlockDriverState *bs,
                   BlockDriverState *base, const char *backing_file_str,
-                  int64_t speed, BlockdevOnError on_error, Error **errp)
+                  int creation_flags, int64_t speed,
+                  BlockdevOnError on_error, Error **errp)
 {
     StreamBlockJob *s;
     BlockDriverState *iter;
@@ -236,7 +237,7 @@ void stream_start(const char *job_id, BlockDriverState *bs,
                          BLK_PERM_GRAPH_MOD,
                          BLK_PERM_CONSISTENT_READ | BLK_PERM_WRITE_UNCHANGED |
                          BLK_PERM_WRITE,
-                         speed, JOB_DEFAULT, NULL, NULL, errp);
+                         speed, creation_flags, NULL, NULL, errp);
     if (!s) {
         goto fail;
     }
diff --git a/blockdev.c b/blockdev.c
index 6574356708..ec90eb1cf9 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -3123,6 +3123,7 @@ void qmp_block_stream(bool has_job_id, const char *job_id, const char *device,
     AioContext *aio_context;
     Error *local_err = NULL;
     const char *base_name = NULL;
+    int job_flags = JOB_DEFAULT;
 
     if (!has_on_error) {
         on_error = BLOCKDEV_ON_ERROR_REPORT;
@@ -3185,7 +3186,7 @@ void qmp_block_stream(bool has_job_id, const char *job_id, const char *device,
     base_name = has_backing_file ? backing_file : base_name;
 
     stream_start(has_job_id ? job_id : NULL, bs, base_bs, base_name,
-                 has_speed ? speed : 0, on_error, &local_err);
+                 job_flags, has_speed ? speed : 0, on_error, &local_err);
     if (local_err) {
         error_propagate(errp, local_err);
         goto out;
diff --git a/include/block/block_int.h b/include/block/block_int.h
index b40f0bfc9b..4000d2af45 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -958,6 +958,8 @@ int is_windows_drive(const char *filename);
  * flatten the whole backing file chain onto @bs.
  * @backing_file_str: The file name that will be written to @bs as the
  * the new backing file if the job completes. Ignored if @base is %NULL.
+ * @creation_flags: Flags that control the behavior of the Job lifetime.
+ *                  See @BlockJobCreateFlags
  * @speed: The maximum speed, in bytes per second, or 0 for unlimited.
  * @on_error: The action to take upon error.
  * @errp: Error object.
@@ -971,7 +973,8 @@ int is_windows_drive(const char *filename);
  */
 void stream_start(const char *job_id, BlockDriverState *bs,
                   BlockDriverState *base, const char *backing_file_str,
-                  int64_t speed, BlockdevOnError on_error, Error **errp);
+                  int creation_flags, int64_t speed,
+                  BlockdevOnError on_error, Error **errp);
 
 /**
  * commit_start:
-- 
2.14.4

  parent reply	other threads:[~2018-08-23 22:23 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-23 22:22 [Qemu-devel] [PATCH v2 00/13] jobs: jobs: Job Exit Refactoring Pt 2 John Snow
2018-08-23 22:22 ` [Qemu-devel] [PATCH v2 01/13] block/commit: add block job creation flags John Snow
2018-08-27 11:21   ` Max Reitz
2018-08-23 22:22 ` [Qemu-devel] [PATCH v2 02/13] block/mirror: " John Snow
2018-08-27 11:25   ` Max Reitz
2018-08-23 22:22 ` John Snow [this message]
2018-08-27 11:26   ` [Qemu-devel] [PATCH v2 03/13] block/stream: " Max Reitz
2018-08-23 22:22 ` [Qemu-devel] [PATCH v2 04/13] block/commit: refactor commit to use job callbacks John Snow
2018-08-27 12:07   ` Max Reitz
2018-08-23 22:22 ` [Qemu-devel] [PATCH v2 05/13] block/mirror: conservative mirror_exit refactor John Snow
2018-08-27 12:47   ` Max Reitz
2018-08-31 22:21     ` John Snow
2018-08-23 22:22 ` [Qemu-devel] [PATCH v2 06/13] block/commit: refactor stream to use job callbacks John Snow
2018-08-27 12:52   ` Max Reitz
2018-08-23 22:22 ` [Qemu-devel] [PATCH v2 07/13] tests/blockjob: replace Blockjob with Job John Snow
2018-08-27 13:36   ` Max Reitz
2018-08-23 22:22 ` [Qemu-devel] [PATCH v2 08/13] tests/test-blockjob: remove exit callback John Snow
2018-08-27 13:41   ` Max Reitz
2018-08-23 22:22 ` [Qemu-devel] [PATCH v2 09/13] jobs: remove .exit callback John Snow
2018-08-27 13:47   ` Max Reitz
2018-08-23 22:22 ` [Qemu-devel] [PATCH v2 10/13] qapi/block-commit: expose new job properties John Snow
2018-08-27 13:57   ` Max Reitz
2018-08-23 22:22 ` [Qemu-devel] [PATCH v2 11/13] qapi/block-mirror: " John Snow
2018-08-27 13:59   ` Max Reitz
2018-08-23 22:22 ` [Qemu-devel] [PATCH v2 12/13] qapi/block-stream: " John Snow
2018-08-27 14:03   ` Max Reitz
2018-08-23 22:22 ` [Qemu-devel] [PATCH v2 13/13] block/backup: qapi documentation fixup John Snow
2018-08-27 14:03   ` Max Reitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180823222249.13518-4-jsnow@redhat.com \
    --to=jsnow@redhat.com \
    --cc=armbru@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=eblake@redhat.com \
    --cc=jcody@redhat.com \
    --cc=jtc@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).