From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41335) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XRjbb-00078H-5b for qemu-devel@nongnu.org; Wed, 10 Sep 2014 11:14:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XRjbW-0006O4-3V for qemu-devel@nongnu.org; Wed, 10 Sep 2014 11:14:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51218) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XRjbV-0006Nw-S8 for qemu-devel@nongnu.org; Wed, 10 Sep 2014 11:14:42 -0400 Message-ID: <54106ADB.7060205@redhat.com> Date: Wed, 10 Sep 2014 09:14:35 -0600 From: Eric Blake MIME-Version: 1.0 References: <1408723870-7826-1-git-send-email-benoit.canet@nodalink.com> <1408723870-7826-2-git-send-email-benoit.canet@nodalink.com> <20140825060424.GA17482@T430.nay.redhat.com> <20140825090611.GA18202@nodalink.com> <20140825093737.GA25434@T430.nay.redhat.com> <20140825121219.GB18202@nodalink.com> <20140826044204.GB2517@T430.nay.redhat.com> <20140826064554.GA13982@nodalink.com> <20140904204256.GF25226@stefanha-thinkpad.redhat.com> <20140910085419.GB26233@fam-t430.nay.redhat.com> In-Reply-To: <20140910085419.GB26233@fam-t430.nay.redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="kLAX1Rc4gqonMpfBljuQCIhdOajoJ7epD" Subject: Re: [Qemu-devel] [PATCH] block: Make op blockers recursive List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng , Stefan Hajnoczi Cc: kwolf@redhat.com, Jeff Cody , =?UTF-8?B?QmVub8OudCBDYW5ldA==?= , stefanha@redhat.com, qemu-devel@nongnu.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --kLAX1Rc4gqonMpfBljuQCIhdOajoJ7epD Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 09/10/2014 02:54 AM, Fam Zheng wrote: >> Let's think of a situation that recursive blockers protect but >> backing_blocker does not: >> >> a <- b <- c <- d >> >> c is the backing file and is therefore protected by the op blocker. >> >> The block-commit command works with node-names, however, so we can >> manipulate any nodes in the graph, not just the topmost one. Try this= : >> >> block-commit d >> block-commit b >> >> I haven't checked yet but I suspect it will launch two block-commit jo= bs >> on the same partial chain (that's a bad thing because it can lead to >> corruption). >=20 > 1) Does block-commit work with node-names already? In other words, is > block-commit b possible now? I only see drive-mirror works with it, = but not > drive-backup, block-mirror or block-commit. IIRC, Jeff Cody proposed patches for qemu 2.1 that would have done this, but we dropped them for that release in order to get the recursive blockers sorted out first. > > 2) Regardless of the answer to 1), I think we could use a similar appro= ach as > drive-backup here: split BLOCK_OP_TYPE_COMMIT to > BLOCK_OP_TYPE_COMMIT_{SOURCE,TARGET}, and only unblock > BLOCK_OP_TYPE_COMMIT_TARGET in bdrv_set_backing_hd. In that earlier thread, Jeff had some ideas that it is not so much the operation name that should be the blocker, but the lower-level action(s) implied by each operation (read metadata, write metadata, read image, write image) --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org --kLAX1Rc4gqonMpfBljuQCIhdOajoJ7epD Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 Comment: Public key at http://people.redhat.com/eblake/eblake.gpg iQEcBAEBCAAGBQJUEGrbAAoJEKeha0olJ0NqTIoH/0h3BzZoKffbkSfmQ6xBlm+B +52QzRKiIhFMO7hK1ka2NHUxtvtqi25tsOjIJPrmTpitZvG3PeJTRpKwUdDNek+Z 9bobZT+VjAQvGGCXeAjm1s0a7AxY2/YMRN0037DN4NgfaH836Vwm724f3Zt//M59 JMdguOQABZ6p6BGfTPipF6Jjp9IPEmkQL5LynQOjAKep7xuDxXbHbcHAqMYrIn9J QUH84oDW8cg4fL/ARyU/E8sSXaEFi0vapMK75v85ZKdeV5mzGrwn66VhnpyRJvxh Vhe9x5J5WmL7aQ7qiL+aez0Deq1ZhuMCNDzd6JFB/Yoj5PpJ4cppMJFO76laOBM= =Lo/A -----END PGP SIGNATURE----- --kLAX1Rc4gqonMpfBljuQCIhdOajoJ7epD--