From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58177) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VBF3R-0002To-St for qemu-devel@nongnu.org; Sun, 18 Aug 2013 22:18:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VBF3J-0004jF-6N for qemu-devel@nongnu.org; Sun, 18 Aug 2013 22:18:49 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49299) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VBF3I-0004gb-VF for qemu-devel@nongnu.org; Sun, 18 Aug 2013 22:18:41 -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 r7J2Id4n022772 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Sun, 18 Aug 2013 22:18:39 -0400 Date: Mon, 19 Aug 2013 10:18:37 +0800 From: Fam Zheng Message-ID: <20130819021837.GA4427@localhost.localdomain> References: <1376356869-19417-1-git-send-email-famz@redhat.com> <1376356869-19417-2-git-send-email-famz@redhat.com> <5210E5EE.9020107@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5210E5EE.9020107@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2 1/4] vmdk: fix L1 and L2 table size in vmdk3 open Reply-To: famz@redhat.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: kwolf@redhat.com, jcody@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com On Sun, 08/18 17:19, Paolo Bonzini wrote: > Il 13/08/2013 03:21, Fam Zheng ha scritto: > > VMDK3 header has the field l1dir_size, but vmdk_open_vmdk3 hardcoded the > > value. This patch honors the header field. > > > > And the L2 table size is 4096 according to VMDK spec[1], instead of > > 1 << 9 (512). > > I'm not sure from the VMDK spec that _only_ 4096 is supported for VMDK3 > files. The way I read it, VMDK3 files in hosted products are supposed > to have 2K grain tables (as specified by vmdk_open_vmdk3). I presume "COWD" is only specified in "ESXi Host Sparse Extents" section, which is also in practice the only known use case to me. There it says "Grain tables have 4096 entries." I think you meant 2KB grain table specified in section "Hosted Sparse Extent Metadata", with 512 entries. If so, it should be for VMDK4 with "KDMV" magic bytes, so doesn't affect "COWD". Fam > > Perhaps we can check if L1size * 64 is enough to cover the whole file, > and if not use 4096? > > Paolo > > > [1]: > > http://www.vmware.com/support/developer/vddk/vmdk_50_technote.pdf?src=vmdk >