As a followup, I see that there is an optional posix_fallocate() function defined in the POSIX standard (http://www.opengroup.org/onlinepubs/009695399/functions/posix_fallocate.html) With some Linux-related discussion at http://lwn.net/Articles/226710/.
Recent Linux (2.6.23) has implemented this function and some of its filesystems support it (XFS and ext4). I found an rsync list posting here http://www.mail-archive.com/[EMAIL PROTECTED]/msg20875.html which shows that for the XFS filesystem, there is substantial advantage (in terms of fragmentation) to using it. Assuming that this functionality is not already in ZFS, ZFS would implement it by pre-allocating all of the requested filesystem blocks, but marking them in such a way that their content is unassigned and therefore the expensive copy-on-write semantics are avoided for the first update. The allocation of the blocks should optimize future read or append access. The system call permanently assigns these blocks to the file even if they are not yet used. Bob ====================================== Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/ _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss