From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33216) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aZ2zg-0001Tp-M3 for qemu-devel@nongnu.org; Thu, 25 Feb 2016 15:58:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aZ2zf-0008FT-Pp for qemu-devel@nongnu.org; Thu, 25 Feb 2016 15:58:40 -0500 From: John Snow Date: Thu, 25 Feb 2016 15:58:28 -0500 Message-Id: <1456433911-24718-1-git-send-email-jsnow@redhat.com> Subject: [Qemu-devel] [PATCH v4 0/3] blockjob: correct backup cluster size for backups List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-block@nongnu.org Cc: kwolf@redhat.com, famz@redhat.com, jcody@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com, John Snow Backups sometimes need a non-64KiB transfer cluster size. See patch #2 for the detailed justificaton. === v4: === 02: Polished the error message. === v3: === 01: +R-B 02: Added failure mode for bdrv_get_info, including critical failure for when we don't have a backing file but couldn't retrieve the cluster_size info. === v2: === 01: Removed "sectors_per_cluster" as a cached property of the Backup Block Job, In favor of recomputing it with a small function where needed. (I like v1 more. Thoughts?) 02: Expand correction to all backup modes instead of just incremental. Added credit: Thanks to Fam Z for noticing this problem! 03: Minor phrasing change in a comment. Added r-b. ________________________________________________________________________________ For convenience, this branch is available at: https://github.com/jnsnow/qemu.git branch incremental-granularity-fix https://github.com/jnsnow/qemu/tree/incremental-granularity-fix This version is tagged incremental-granularity-fix-v4: https://github.com/jnsnow/qemu/releases/tag/incremental-granularity-fix-v4 John Snow (3): block/backup: make backup cluster size configurable block/backup: avoid copying less than full target clusters iotests/124: Add cluster_size mismatch test block/backup.c | 87 ++++++++++++++++++++++++++++++---------------- tests/qemu-iotests/124 | 58 ++++++++++++++++++++++++++++--- tests/qemu-iotests/124.out | 4 +-- 3 files changed, 112 insertions(+), 37 deletions(-) -- 2.4.3