[RFC 00/15] block job API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all!

The series aims to reach feature parity between job-* and block-job-*
APIs and finally deprecate block-job-* APIs.

01: new type-based unions for QAPI

02-07: rework block-job-change and add similar job-change command

08: support set-speed in new API (as an option to job-change)

09: support soft-cancelling ready mirror job in new API (as an
    option to job-complete)

10-14: prepare query-jobs to substitute query-block-jobs

15: finally, deprecate old APIs

RFC: the series are untested. I plan to move tests to using new APIs
instead of deprecated ones in v2.

Vladimir Sementsov-Ogievskiy (15):
  scripts/qapi: support type-based unions
  qapi: rename BlockJobChangeOptions to JobChangeOptions
  blockjob: block_job_change_locked(): check job type
  qapi: block-job-change: make copy-mode parameter optional
  qapi: JobChangeOptions: make type member optional and deprecated
  blockjob: move change action implementation to job from block-job
  qapi: add job-change
  qapi: job-change: support speed parameter
  qapi: job-complete: introduce no-block-replace option for mirror
  qapi: query-jobs: add information specific for job type
  job-qmp: job_query_single_locked: add assertion on job ret
  qapi: rename BlockDeviceIoStatus to IoStatus
  qapi: move IoStatus to common.json
  qapi: query-job: add block-job specific information
  qapi/block-core: derpecate block-job- APIs

 block/backup.c                              |  14 ++
 block/block-backend.c                       |  14 +-
 block/commit.c                              |  16 ++-
 block/mirror.c                              |  98 +++++++++-----
 block/monitor/block-hmp-cmds.c              |   4 +-
 block/stream.c                              |  14 ++
 blockdev.c                                  |   4 +-
 blockjob.c                                  |  39 +++---
 docs/about/deprecated.rst                   |  75 +++++++++++
 include/block/blockjob.h                    |  26 ++--
 include/block/blockjob_int.h                |   7 -
 include/qemu/job.h                          |  25 +++-
 include/sysemu/block-backend-global-state.h |   2 +-
 job-qmp.c                                   |  55 +++++++-
 job.c                                       |  35 ++++-
 qapi/block-core.json                        | 136 +++++++++++++++-----
 qapi/common.json                            |  16 +++
 qapi/job.json                               |  69 +++++++++-
 scripts/qapi/introspect.py                  |   5 +-
 scripts/qapi/schema.py                      |  50 ++++---
 scripts/qapi/types.py                       |   3 +-
 scripts/qapi/visit.py                       |  43 ++++++-
 stubs/meson.build                           |   1 +
 stubs/qapi-jobchangeoptions-mapper.c        |  13 ++
 tests/unit/test-bdrv-drain.c                |   2 +-
 tests/unit/test-block-iothread.c            |   2 +-
 tests/unit/test-blockjob.c                  |   2 +-
 27 files changed, 616 insertions(+), 154 deletions(-)
 create mode 100644 stubs/qapi-jobchangeoptions-mapper.c

-- 
2.34.1
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux