cvs commit: src/sbin/fsck Makefile dir.c fsck.h fsutil.c fsutil.h inode.c memzone.c memzone.h pass1.c pass1b.c pass2.c pass3.c pass4.c utilities.c
Matthew Dillon
dillon at apollo.backplane.com
Thu Oct 12 02:46:04 PDT 2006
:On Thu, October 12, 2006 12:04 am, Matthew Dillon wrote:
:> Log:
:> Greatly reduce memory requirements when fsck'ing filesystems with lots
:> of directories (23 million directories in my case),
:
:Was having 23M directories something that happened on purpose?
It's my backup machine. I use hardlink-based incremental mirroring
(ala the cpdup work you saw me commit a while back). The /backup
partition is 450GB and it can hold daily incrementals going back to
around August 1st.
So, basically, each time a daily incremental is made the directories
are replicated and the files within the directories are hardlinked to
the previous day's topology if they hadn't changed, and created
normally if they had changed.
fsck's memory useage is based entirely on the number of directories
in the filesystem. The base backup has a few hundred thousand
directories. Each day multiplies that. At the moment I'm sitting
at 23 million or so directories. I had to fsck two days ago and, well,
it didn't work :-)
The locate.db database stopped working also :-) hahahaha. I had to tell
it not to try to scan /backup.
-Matt
Matthew Dillon
<dillon at xxxxxxxxxxxxx>
More information about the Commits
mailing list