On 3/21/14, 6:10 PM, Dave Chinner wrote: > On Fri, Mar 21, 2014 at 09:11:29PM +0100, Florian Weimer wrote: >> * Brian Foster: >> >>> Although speculative preallocation can lead to reports of excess space >>> usage, the preallocated space is not permanent unless explicitly made so >>> via fallocate or a similar interface. >> >> How does an explicit allocation with posix_fallocate interact with >> speculative preallocation? Does it disable it? > > fallocate is permanent preallocation using unwritten extents. > Speculative preallocation is an extension of delayed allocation that > is done when extending the file and the EOF falls into a hole. If > there is unwritten extents beyond EOF, speulative preallocation is > not performed. > >> I see rather dramatic fragmentation of the systemd journal when it is >> stored on XFS, and it calls posix_fallocate before writing data to the >> file. > > There's your problem - systemd is preventing delayed allocation, and > so it fragmenting the file itself with it's write pattern. > Basically, that's a bug in systemd, and not something the filesystem > can avoid because userspace is directly controlling block > allocation. hohum, I guess we should look into this. OTOH: nothing wrong with calling posix_fallocate() if you need the space guarantees it provides for proper operation... -Eric > Cheers, > > Dave. > _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs