> Am 05.12.2013 um 03:12 schrieb Eric Blake <ebl...@redhat.com>: > > On 12/04/2013 09:46 AM, Peter Lieven wrote: > >>> I guess a sane size would be cluster size. For a raw file 4 KB is >>> reasonable since that's the file system block size. >> in case of iscsi the cluster size could be much too high as for example >> my storage has a cluster_size of 15MB. >>> >>> Is it necessary to increase to 64 KB here? >> No, its indepent of the rest. Paolo suggested to increase it and I can >> confirm >> that for my usage case its faster than 4K. > > At least on NTFS file systems, 64k is the minimum size of a hole in a > sparse file. While many file systems support smaller holes, there are > definitely systems where trying to detect smaller holes only results in > wasted efforts. Is it worth making the default dynamic based on stat() > information regarding optimum IO size for the given destination file system?
it is definetely worth it, but i would require additional work and testing. the current code does not create holes that are aligned to min_sparse and min_sparse has to be limited to a reasonable size. and i wonder if the right value is bs->bl.opt_transfer_lenght, bs->bl.discard_alignment or bdi->cluster_size/9. maybe depepnding on if its a cow Image or not. i can look at this. but i would leave the patch out for now. Peter > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org >