On Fri, Jun 13, 2008 at 6:17 PM, Bob Friesenhahn
<[EMAIL PROTECTED]> wrote:
> 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/

I'll defer to the Team ZFS Gods for corrections - but, in general, the
overlying philosophy for ZFS is to work automatically and
transparently and not require the user (or user application) to "tell"
the underlying filesystem *anything*.  IOW - treat it as a "black box"
storage sub-system.  Currently, ZFS determines if the access pattern
is random or sequential and there is no mechanism to provide it with
"hints".

Yes - this is a lofty and worthy goal and it would appear, upon first
blush, that to provide a "hints" facility would make sense - but Team
ZFS are the ultimate look-to-the-future designers and believe, that if
the current implement is deficient, the next implementation will
simply be better.  This philosophy means that the user will never have
to change a single line of code or a learned (keyboard) behavioral
pattern.

Given that machines keep getting faster and that more and more CPU
cycles can be dedicated to "letting the machine do the work" - this
philosophy is the correct approach IMHO.   But is counter-intuitative
for those of use used to "explaining" our intent to a dumb, resource
starved computing platform.

Regards,

-- 
Al Hopper Logical Approach Inc,Plano,TX [EMAIL PROTECTED]
 Voice: 972.379.2133 Timezone: US CDT
OpenSolaris Governing Board (OGB) Member - Apr 2005 to Mar 2007
http://www.opensolaris.org/os/community/ogb/ogb_2005-2007/
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to