qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 9ea18e: vl: Fix -drive / -blockdev persistent


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 9ea18e: vl: Fix -drive / -blockdev persistent reservation ...
Date: Thu, 06 Jun 2019 04:52:09 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 9ea18ed25a36527167e9676f25d983df5e7f76e6
      
https://github.com/qemu/qemu/commit/9ea18ed25a36527167e9676f25d983df5e7f76e6
  Author: Markus Armbruster <address@hidden>
  Date:   2019-06-05 (Wed, 05 Jun 2019)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  vl: Fix -drive / -blockdev persistent reservation management

qemu-system-FOO's main() acts on command line arguments in its own
idiosyncratic order.  There's not much method to its madness.
Whenever we find a case where one kind of command line argument needs
to refer to something created for another kind later, we rejigger the
order.

Recent commit cda4aa9a5a "vl: Create block backends before setting
machine properties" was such a rejigger.  Block backends are now
created before "delayed" objects.  This broke persistent reservation
management.  Reproducer:

    $ qemu-system-x86_64 -object 
pr-manager-helper,id=pr-helper0,path=/tmp/pr-helper0.sock-drive -drive 
file=/dev/mapper/crypt,file.pr-manager=pr-helper0,format=raw,if=none,id=drive-scsi0-0-0-2
    qemu-system-x86_64: -drive 
file=/dev/mapper/crypt,file.pr-manager=pr-helper0,format=raw,if=none,id=drive-scsi0-0-0-2:
 No persistent reservation manager with id 'pr-helper0'

The delayed pr-manager-helper object is created too late for use by
-drive or -blockdev.  Normal objects are still created in time.

pr-manager-helper has always been a delayed object (commit 7c9e527659
"scsi, file-posix: add support for persistent reservation
management").  Turns out there's no real reason for that.  Make it a
normal object.

Fixes: cda4aa9a5a08777cf13e164c0543bd4888b8adce
Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michal Privoznik <address@hidden>
Cc: address@hidden
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: edfb4389c26cbfd873707306024130bda6049780
      
https://github.com/qemu/qemu/commit/edfb4389c26cbfd873707306024130bda6049780
  Author: Markus Armbruster <address@hidden>
  Date:   2019-06-05 (Wed, 05 Jun 2019)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  vl: Document why objects are delayed

Objects should not be "delayed" without a reason, as the previous
commit demonstrates.  The remaining ones have reasons.  State them.
and demand future ones come with such a statement.

Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Michal Privoznik <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 7ad5f33b7d612a12d5ee927b64046ef21e4b5bae
      
https://github.com/qemu/qemu/commit/7ad5f33b7d612a12d5ee927b64046ef21e4b5bae
  Author: Peter Maydell <address@hidden>
  Date:   2019-06-06 (Thu, 06 Jun 2019)

  Changed paths:
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

* Fix pr-manager-helper (Markus)

# gpg: Signature made Wed 05 Jun 2019 15:15:34 BST
# gpg:                using RSA key BFFBD25F78C7AE83
# gpg: Good signature from "Paolo Bonzini <address@hidden>" [full]
# gpg:                 aka "Paolo Bonzini <address@hidden>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* remotes/bonzini/tags/for-upstream:
  vl: Document why objects are delayed
  vl: Fix -drive / -blockdev persistent reservation management

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/8be2094648f8...7ad5f33b7d61



reply via email to

[Prev in Thread] Current Thread [Next in Thread]