qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Add new block driver for the VDI format (use ai


From: Daniel P. Berrange
Subject: Re: [Qemu-devel] [PATCH] Add new block driver for the VDI format (use aio)
Date: Tue, 28 Jul 2009 09:56:42 +0100
User-agent: Mutt/1.4.1i

On Tue, Jul 28, 2009 at 09:34:52AM +0100, Jamie Lokier wrote:
> 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?

libvirt has to work with more than just QEMU.  Thus it has a built in
support for creating raw files, and this is where we added fallocate
support. It also has ability to call out to hypervisor specific tools
for creating non-raw formats. We support qemu-img, and qcow-create (the
latter from Xen)

Regards,
Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]