freebsd-nq/sys/ufs/ffs
Kirk McKusick aa7ddc85c7 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
2012-11-03 18:55:55 +00:00
..
ffs_alloc.c When a file is first being written, the dynamic block reallocation 2012-11-03 18:55:55 +00:00
ffs_balloc.c When a file is first being written, the dynamic block reallocation 2012-11-03 18:55:55 +00:00
ffs_extern.h Remove unused thread argument from vtruncbuf(). 2012-04-23 13:21:28 +00:00
ffs_inode.c Remove unused thread argument from vtruncbuf(). 2012-04-23 13:21:28 +00:00
ffs_rawread.c Add a third flags argument to ffs_syncvnode to avoid a possible conflict 2012-03-25 00:02:37 +00:00
ffs_snapshot.c Fix up kernel sources to be ready for a 64-bit ino_t. 2012-09-27 23:30:49 +00:00
ffs_softdep.c - In cancel_mkdir_dotdot don't panic if the inodedep is not available. If 2012-11-02 21:04:06 +00:00
ffs_subr.c - Merge soft-updates journaling from projects/suj/head into head. This 2010-04-24 07:05:35 +00:00
ffs_tables.c
ffs_vfsops.c Use NULL instead of 0 for pointers 2012-07-22 15:40:31 +00:00
ffs_vnops.c After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
fs.h Fix problem with geom_label(4) not recognizing UFS labels on filesystems 2012-10-30 21:32:10 +00:00
softdep.h - Speed up pendingblock processing again. Having too much delay between 2011-07-04 22:08:04 +00:00