QEMU-Devel Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH v2 0/2] mirror: Fix hang (operation waiting for itself/circular dependency)
@ 2020-03-26 15:36 Kevin Wolf
  2020-03-26 15:36 ` [PATCH v2 1/2] Revert "mirror: Don't let an operation wait for itself" Kevin Wolf
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Kevin Wolf @ 2020-03-26 15:36 UTC (permalink / raw)
  To: qemu-block; +Cc: kwolf, jsnow, qemu-devel, mreitz

The recent fix didn't actually fix the whole problem. Operations can't
only wait for themselves, but we can also end up with circular
dependencies like two operations waiting for each other to complete.

This reverts the first fix and implements another approach.

v2:
- Mark active mirror operations as in-flight, too

Kevin Wolf (2):
  Revert "mirror: Don't let an operation wait for itself"
  mirror: Wait only for in-flight operations

 block/mirror.c | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

-- 
2.20.1



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, back to index

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-26 15:36 [PATCH v2 0/2] mirror: Fix hang (operation waiting for itself/circular dependency) Kevin Wolf
2020-03-26 15:36 ` [PATCH v2 1/2] Revert "mirror: Don't let an operation wait for itself" Kevin Wolf
2020-03-26 15:36 ` [PATCH v2 2/2] mirror: Wait only for in-flight operations Kevin Wolf
2020-03-26 18:27   ` Max Reitz
2020-03-26 15:53 ` [PATCH v2 0/2] mirror: Fix hang (operation waiting for itself/circular dependency) Eric Blake

QEMU-Devel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/qemu-devel/0 qemu-devel/git/0.git
	git clone --mirror https://lore.kernel.org/qemu-devel/1 qemu-devel/git/1.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 qemu-devel qemu-devel/ https://lore.kernel.org/qemu-devel \
		qemu-devel@nongnu.org
	public-inbox-index qemu-devel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.nongnu.qemu-devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git