From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47905) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VGlgx-00040X-ML for qemu-devel@nongnu.org; Tue, 03 Sep 2013 04:10:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VGlgn-0003Bg-0D for qemu-devel@nongnu.org; Tue, 03 Sep 2013 04:10:27 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38187) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VGlgm-0003BG-Ol for qemu-devel@nongnu.org; Tue, 03 Sep 2013 04:10:16 -0400 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r838AC2k009624 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 3 Sep 2013 04:10:13 -0400 From: Max Reitz Date: Tue, 3 Sep 2013 10:09:49 +0200 Message-Id: <1378195795-1674-1-git-send-email-mreitz@redhat.com> Subject: [Qemu-devel] [PATCH v5 0/6] block/qcow2: Image file option amendment List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Stefan Hajnoczi , Max Reitz This series adds support to qemu-img, block and qcow2 for amending image options on existing image files. Depends on: - option: Add assigned flag to QEMUOptionParameter - qcow2-refcount: Snapshot update for zero clusters (series, v3) - Add metadata overlap checks (series, v5) v5: - added a new function for emptying a cache (patch 2) - fixed rounding for the bitmap size in qcow2_expand_zero_clusters - now empties the cache in qcow2_expand_zero_clusters instead of simply flushing it - factored out assignment check in qcow2_amend_options - fixed resizing by moving it to the end of qcow2_amend_options - fixed expected test result for resizing in addition to a version upgrade v4: - rebased on the metadata overlap check series (and fit to it) - split patch 2 into three distinct patches (2, 3 and 4) - extended test for zero expansion on backed and inactive backed clusters (and fixed according to the metadata overlap check series (i.e., adjusted header length)) - fixed zero expansion with shared L2 tables v3: - deallocate non-preallocated zero clusters on non-backed images instead of zero expanding them - qcow2 version downgrade: error out on refcount_order != 4 - implemented Eric's comments regarding the qemu-img amend and img_amend itself v2: - Generally implemented Kevin's comments, especially: - Zero cluster expansion for inactive L2 tables - Correct handling of preallocated zero clusters - More test cases Max Reitz (6): block: Image file option amendment qcow2-cache: Empty cache qcow2-cluster: Expand zero clusters qcow2: Save refcount order in BDRVQcowState qcow2: Implement bdrv_amend_options qemu-iotest: qcow2 image option amendment block.c | 8 ++ block/qcow2-cache.c | 18 +++ block/qcow2-cluster.c | 233 ++++++++++++++++++++++++++++++ block/qcow2-refcount.c | 29 ++-- block/qcow2.c | 197 ++++++++++++++++++++++++- block/qcow2.h | 8 ++ include/block/block.h | 2 + include/block/block_int.h | 3 + qemu-img-cmds.hx | 6 + qemu-img.c | 84 +++++++++++ qemu-img.texi | 5 + tests/qemu-iotests/061 | 178 +++++++++++++++++++++++ tests/qemu-iotests/061.out | 349 +++++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/group | 1 + 14 files changed, 1106 insertions(+), 15 deletions(-) create mode 100755 tests/qemu-iotests/061 create mode 100644 tests/qemu-iotests/061.out -- 1.8.3.1