Share on Facebook Share on Twitter Email
Answers.com

Allocate-on-flush

 
Wikipedia: Allocate-on-flush

Allocate-on-flush (also called delayed allocation) is a computer file system feature implemented in the HFS+[1], XFS, Reiser4, ZFS,Btrfs and ext4[2] file systems.

When blocks must be allocated to hold pending writes, disk space for the appended data is subtracted from the free-space counter, but not actually allocated in the free-space bitmap. Instead, the appended data is held in memory until it must be flushed to storage due to memory pressure, when the kernel decides to flush dirty buffers, or when the application performs the Unix "sync" system call, for example.

This has the effect of batching together allocations into larger runs. Such delayed processing reduces CPU usage, and tends to reduce disk fragmentation, especially for files which grow slowly. It can also help in keeping allocations contiguous when there are several files growing at the same time. When used in conjunction with copy on write as it is in ZFS, it can convert slow random writes into fast sequential writes.

References

  1. ^ About disk optimization with Mac OS X Do I need to optimize?
  2. ^ LWN.net Weekly Edition for July 17, 2008 2.6.27: what's coming (part 1)

Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
 
 
Learn More
Copy-on-write
Reiser4
Ext4

What is scarcity allocation? Read answer...
What is resource allocation? Read answer...
What does allocable mean? Read answer...

Help us answer these
How is resourse allocation?
What the mean of allocative?
What is revenue allocation?

Post a question - any question - to the WikiAnswers community:

 

Copyrights:

Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Allocate-on-flush" Read more