On Sat, 3 Nov 2012, Kirk McKusick wrote:

Log:
 When a file is first being written, the dynamic block reallocation
 (implemented by ffs_reallocblks_ufs[12]) relocates the file's blocks
 so as to cluster them together into a contiguous set of blocks on
 the disk.

 When the cluster crosses the boundary into the first indirect block,
 the first indirect block is initially allocated in a position
 immediately following the last direct block.  Block reallocation
 would usually destroy locality by moving the indirect block out of
 the way to keep the data blocks contiguous.  This change compensates
 for this problem by noting that the first indirect block should be
 left immediately following the last direct block.  It then tries
 to start a new cluster of contiguous blocks (referenced by the
 indirect block) immediately following the indirect block.

 We should also do this for other indirect block boundaries, but it
 is only important for the first one.

 Suggested by: Bruce Evans
 MFC:          2 weeks

Thanks.  Sorry I haven't got around to testing your version of this.

Bruce
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to