Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Nov 1999 12:06:37 -0500 (EST)
From:      Zhihui Zhang <zzhang@cs.binghamton.edu>
To:        freebsd-hackers@freebsd.org, freebsd-fs@freebsd.org
Subject:   On-the-fly defragmentation of FFS
Message-ID:  <Pine.GSO.3.96.991116111847.9599A-100000@sol.cs.binghamton.edu>

next in thread | raw e-mail | index | archive | help

After studying the code of ffs_reallocblks() for a while, it occurs to me
that the on-the-fly defragmentation of a FFS file (It does this on a per
file basis) only takes place at the end of a file and only when the
previous logical blocks have all been laid out contiguously on the disk
(see also cluster_write()).  This seems to me a lot of limitations to the
FFS defragger.  I wonder if the file was not allocated contiguously
when it was first created, how can it find contiguous space later unless
we delete a lot of files in between?

I hope someone can confirm or correct my understanding. It would be even
better if someone can suggest a way to improve defragmentation if the FFS
defragger is not very efficient.

BTW, if I copy all files from a filesystem to a new filesystem, will the
files be stored more contiguously?  Why?

Any help or suggestion is appreciated.

-Zhihui




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-fs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.3.96.991116111847.9599A-100000>