On Tue, May 17, 2016 at 7:14 PM, Shmuel Melamud <smelamud@redhat.com> wrote:
Hi!

There is an RFE being implemented currently (https://bugzilla.redhat.com/show_bug.cgi?id=734120) to use --inplace option in virt-sparsify to sparsify a disk image in-place, without copying it.

The problem is that in-place sparsify works on NFS only starting from NFS 4.2, while the copying implementation supposedly works with any storage.

From my point of view, it is better to remove the old code and start with the new code that uses --inplace and just add to document that one will need NFS >= 4.2 for sparsify feature to work. Although the old implementation exists, it is not used currently so there are no actual users that may be affected by the change. If it will be a crying need to use sparsify on older NFS or some other incompatible storage, we can add it later on the base of the new code. The old code is far from ideal and we will need to rewrite it in any case, and there is not sense to do this without real need.

Richard,

Currently vdsm is using:

    virt-sparsify --tmp prebuilt:tmp_vol --format src_format --convert dst_format src_vol dst_vol

(--format and --dst_format are optional)

tmp_vol, src_vol, and dst_vol can be either file on nfs/glusterfs/other posix shared filesystem,
or an lv created on top of lun (iscsi/fc).

can you confirm this method works on all the storage types I mentioned? or this depends
on the underlying storage server?

The new inplace method is much nicer, but something that works only on latest NFS version 
is not useful for our most important users, using block storage.

Nir