From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MVi9A-0001ZP-JK for qemu-devel@nongnu.org; Tue, 28 Jul 2009 04:34:56 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MVi99-0001WL-96 for qemu-devel@nongnu.org; Tue, 28 Jul 2009 04:34:55 -0400 Received: from [199.232.76.173] (port=55191 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MVi99-0001W0-2D for qemu-devel@nongnu.org; Tue, 28 Jul 2009 04:34:55 -0400 Received: from mail2.shareable.org ([80.68.89.115]:35333) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MVi98-0001pY-G8 for qemu-devel@nongnu.org; Tue, 28 Jul 2009 04:34:54 -0400 Date: Tue, 28 Jul 2009 09:34:52 +0100 From: Jamie Lokier Subject: Re: [Qemu-devel] [PATCH] Add new block driver for the VDI format (use aio) Message-ID: <20090728083452.GA21321@shareable.org> References: <4A6888AC.3050509@mail.berlios.de> <1248380985-7362-1-git-send-email-weil@mail.berlios.de> <4A697C7E.80400@redhat.com> <4A69DF48.7000109@mail.berlios.de> <4A6D5EA2.2080706@redhat.com> <20090727092319.GA7967@shareable.org> <20090728063739.GA2603@amit-x200.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090728063739.GA2603@amit-x200.redhat.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Amit Shah Cc: Kevin Wolf , QEMU Developers , Christoph Hellwig Amit Shah wrote: > On (Mon) Jul 27 2009 [10:23:19], Jamie Lokier wrote: > > Kevin Wolf wrote: > > > Though I guess that for static images typically not only metadata is > > > preallocated, but zeros are written for the whole disk content? Maybe we > > > could implement a three-way flag like preallocate=[no,metadata,data] and > > > let qemu-img handle the data part (writing zeros is the same for all > > > formats and would even work with raw). > > > > Note that you can also preallocate space with posix_fallocate(), which > > fills the file with zeros but (sometimes) doesn't take as long as > > writing zeros. > > It won't take as long as writing zeroes if the filesystem underneath has > support for fallocate(). ext4, btrfs, xfs have support for fallocate(). > > > Apparently it is almost essential when writing large files in small > > pieces on Windows, and on Linux it is supported by the ext4 > > filesystem, but I haven't checked either claim. > > I did some comparisons: > > http://log.amitshah.net/2009/03/comparison-of-file-systems-and-speeding.html > > http://log.amitshah.net/2009/04/re-comparing-file-systems.html There was some discussion of it on the rsync list, which is where I learned it is important for NTFS performance on Windows. By the way, why is fallocate() support being added to libvirt to improve disk image creation, instead of to qemu-img? -- Jamie