From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48653) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WsBbD-00052m-0N for qemu-devel@nongnu.org; Wed, 04 Jun 2014 09:51:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WsBb5-0005MS-Ex for qemu-devel@nongnu.org; Wed, 04 Jun 2014 09:51:26 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48086) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WsBb5-0005M4-6a for qemu-devel@nongnu.org; Wed, 04 Jun 2014 09:51:19 -0400 From: Jeff Cody Date: Wed, 4 Jun 2014 09:51:02 -0400 Message-Id: Subject: [Qemu-devel] [PATCH v4 00/10] Modify block jobs to use node-names List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, benoit.canet@irqsave.net, pkrempa@redhat.com, famz@redhat.com, stefanha@redhat.com This is v4 of "block: Modify block-commit to use node-names". Changes from v3->v4: * Rebased on master * Dropped overlay pointers, Eric's concerns are correct * Require "device" for all arguments, in light of the above, so we can find the active layer in all cases. * Simplify more operations! * Dropped Eric's Reviewed-by: on patches 3,5,6 Added Eric's Reviewed-by: on patches 8,9 Changes from v2->v3: * Add Eric's reviewed-by * Addressed Eric's review comments * Dropped HMP changes * Added helper function for setting the overlay, and set the overlay in bdrv_append() * Use bs->backing_file instead of bs->backing_hd->filename in block_stream Using node-names instead of filenames for block job operations over QMP is a superior method of identifying the block driver images to operate on, as it removes all pathname ambiguity. This series modifies block-commit and block-stream to use node-names, and creates a new QAPI command to allow stand-alone backing file changes on an image file. So that node-names can be used as desired for all block job operations, this series also auto-generates node-names for every BDS. User-specified node-names will override any autogenerated Jeff Cody (10): block: Auto-generate node_names for each BDS entry block: add helper function to determine if a BDS is in a chain block: simplify bdrv_find_base() and bdrv_find_overlay() block: make 'top' argument to block-commit optional block: Accept node-name arguments for block-commit block: extend block-commit to accept a string for the backing file block: add ability for block-stream to use node-name block: add backing-file option to block-stream block: Add QMP documentation for block-stream block: add QAPI command to allow live backing file change block.c | 80 ++++++++-------- block/commit.c | 9 +- block/stream.c | 11 +-- blockdev.c | 228 ++++++++++++++++++++++++++++++++++++++++++---- hmp.c | 1 + include/block/block.h | 4 +- include/block/block_int.h | 3 +- qapi-schema.json | 145 ++++++++++++++++++++++++++--- qmp-commands.hx | 181 ++++++++++++++++++++++++++++++++++-- tests/qemu-iotests/040 | 28 ++++-- 10 files changed, 592 insertions(+), 98 deletions(-) -- 1.9.3