[PULL 00/10] Block Jobs patches

Vladimir Sementsov-Ogievskiy posted 10 patches 2 years, 10 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210625130006.276511-1-vsementsov@virtuozzo.com
Maintainers: Max Reitz <mreitz@redhat.com>, John Snow <jsnow@redhat.com>, Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>, Kevin Wolf <kwolf@redhat.com>
include/block/block-copy.h        |   2 +
include/qemu/co-shared-resource.h |   4 +-
include/qemu/progress_meter.h     |  34 +--
include/qemu/ratelimit.h          |  12 +-
block/block-copy.c                | 396 ++++++++++++++++++------------
block/progress_meter.c            |  64 +++++
blockjob.c                        |  46 ++--
job-qmp.c                         |   8 +-
job.c                             |   3 +
qemu-img.c                        |   9 +-
util/qemu-co-shared-resource.c    |  24 +-
block/meson.build                 |   1 +
12 files changed, 399 insertions(+), 204 deletions(-)
create mode 100644 block/progress_meter.c
[PULL 00/10] Block Jobs patches
Posted by Vladimir Sementsov-Ogievskiy 2 years, 10 months ago
The following changes since commit e0da9171e02f4534124b9a9e07333382b38376c6:

  Merge remote-tracking branch 'remotes/kraxel/tags/ui-20210624-pull-request' into staging (2021-06-25 09:10:37 +0100)

are available in the Git repository at:

  ssh://git@src.openvz.org/~vsementsov/qemu.git tags/pull-jobs-2021-06-25

for you to fetch changes up to 149009bef4b4b4db37b3cf72b41dc2c6e8ca1885:

  block-copy: atomic .cancelled and .finished fields in BlockCopyCallState (2021-06-25 14:33:51 +0300)

----------------------------------------------------------------
block: Make block-copy API thread-safe

----------------------------------------------------------------

Emanuele Giuseppe Esposito (6):
  progressmeter: protect with a mutex
  co-shared-resource: protect with a mutex
  block-copy: small refactor in block_copy_task_entry and
    block_copy_common
  block-copy: move progress_set_remaining in block_copy_task_end
  block-copy: add CoMutex lock
  block-copy: atomic .cancelled and .finished fields in
    BlockCopyCallState

Paolo Bonzini (4):
  ratelimit: treat zero speed as unlimited
  block-copy: let ratelimit handle a speed of 0
  blockjob: let ratelimit handle a speed of 0
  block-copy: streamline choice of copy_range vs. read/write

 include/block/block-copy.h        |   2 +
 include/qemu/co-shared-resource.h |   4 +-
 include/qemu/progress_meter.h     |  34 +--
 include/qemu/ratelimit.h          |  12 +-
 block/block-copy.c                | 396 ++++++++++++++++++------------
 block/progress_meter.c            |  64 +++++
 blockjob.c                        |  46 ++--
 job-qmp.c                         |   8 +-
 job.c                             |   3 +
 qemu-img.c                        |   9 +-
 util/qemu-co-shared-resource.c    |  24 +-
 block/meson.build                 |   1 +
 12 files changed, 399 insertions(+), 204 deletions(-)
 create mode 100644 block/progress_meter.c

-- 
2.29.2


Re: [PULL 00/10] Block Jobs patches
Posted by Peter Maydell 2 years, 10 months ago
On Fri, 25 Jun 2021 at 14:00, Vladimir Sementsov-Ogievskiy
<vsementsov@virtuozzo.com> wrote:
>
> The following changes since commit e0da9171e02f4534124b9a9e07333382b38376c6:
>
>   Merge remote-tracking branch 'remotes/kraxel/tags/ui-20210624-pull-request' into staging (2021-06-25 09:10:37 +0100)
>
> are available in the Git repository at:
>
>   ssh://git@src.openvz.org/~vsementsov/qemu.git tags/pull-jobs-2021-06-25

This doesn't look like a public git url. I'm going to assume you mean
 https://src.openvz.org/scm/~vsementsov/qemu.git
(the remote URL I have on file or you) since it has the right tag/commit.

thanks
-- PMM

Re: [PULL 00/10] Block Jobs patches
Posted by Vladimir Sementsov-Ogievskiy 2 years, 10 months ago
28.06.2021 19:09, Peter Maydell wrote:
> On Fri, 25 Jun 2021 at 14:00, Vladimir Sementsov-Ogievskiy
> <vsementsov@virtuozzo.com> wrote:
>>
>> The following changes since commit e0da9171e02f4534124b9a9e07333382b38376c6:
>>
>>    Merge remote-tracking branch 'remotes/kraxel/tags/ui-20210624-pull-request' into staging (2021-06-25 09:10:37 +0100)
>>
>> are available in the Git repository at:
>>
>>    ssh://git@src.openvz.org/~vsementsov/qemu.git tags/pull-jobs-2021-06-25
> 
> This doesn't look like a public git url. I'm going to assume you mean
>   https://src.openvz.org/scm/~vsementsov/qemu.git

Yes, that's a right URL, sorry.

> (the remote URL I have on file or you) since it has the right tag/commit.
> 

-- 
Best regards,
Vladimir

Re: [PULL 00/10] Block Jobs patches
Posted by Eric Blake 2 years, 10 months ago
On Mon, Jun 28, 2021 at 07:19:47PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> 28.06.2021 19:09, Peter Maydell wrote:
> > On Fri, 25 Jun 2021 at 14:00, Vladimir Sementsov-Ogievskiy
> > <vsementsov@virtuozzo.com> wrote:
> > > 
> > > The following changes since commit e0da9171e02f4534124b9a9e07333382b38376c6:
> > > 
> > >    Merge remote-tracking branch 'remotes/kraxel/tags/ui-20210624-pull-request' into staging (2021-06-25 09:10:37 +0100)
> > > 
> > > are available in the Git repository at:
> > > 
> > >    ssh://git@src.openvz.org/~vsementsov/qemu.git tags/pull-jobs-2021-06-25
> > 
> > This doesn't look like a public git url. I'm going to assume you mean
> >   https://src.openvz.org/scm/~vsementsov/qemu.git
> 
> Yes, that's a right URL, sorry.
> 
> > (the remote URL I have on file or you) since it has the right tag/commit.

This may be a factor of how you have set up your local copy of your
staging repo.  Easiest is to update your .git/config to set your
remote.NAME.url to be the readonly public name, and
remote.NAME.pushurl to be your personal one that you can push to.

This can also be done with repo URL shortening; for example, in my
~/.gitconfig, I have:

[url "https://repo.or.cz/"]
        insteadof = repo:
[url "ericb@repo.or.cz:/srv/git/"]
        pushinsteadof = repo:

and then in my qemu staging checkout, I have:

[remote "repo"]
        url = repo:qemu/ericb.git

where the repo: prefix takes care of letting me push pull requests
then producing a sane string in 'git request-pull' I use to announce
it. 'git remote show repo' lets me check that my nicknames properly
expanded into the actual URLs needed.

(Another benefit of having url different from pushurl is that you no
longer have to spend time authenticating when merely downloading from
the repo, although that matters more if you are using that repo to
synchronize changes across multiple machines, and less if you are
using it only for preparing pull requests for others to download)

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org


Re: [PULL 00/10] Block Jobs patches
Posted by Peter Maydell 2 years, 10 months ago
On Fri, 25 Jun 2021 at 14:00, Vladimir Sementsov-Ogievskiy
<vsementsov@virtuozzo.com> wrote:
>
> The following changes since commit e0da9171e02f4534124b9a9e07333382b38376c6:
>
>   Merge remote-tracking branch 'remotes/kraxel/tags/ui-20210624-pull-request' into staging (2021-06-25 09:10:37 +0100)
>
> are available in the Git repository at:
>
>   ssh://git@src.openvz.org/~vsementsov/qemu.git tags/pull-jobs-2021-06-25
>
> for you to fetch changes up to 149009bef4b4b4db37b3cf72b41dc2c6e8ca1885:
>
>   block-copy: atomic .cancelled and .finished fields in BlockCopyCallState (2021-06-25 14:33:51 +0300)
>
> ----------------------------------------------------------------
> block: Make block-copy API thread-safe
>


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/6.1
for any user-visible changes.

-- PMM