BigDisk project: du(1) 64bit clean.
Julian Elischer
julian at elischer.org
Tue Jan 4 23:10:09 PST 2005
Peter Jeremy wrote:
> On Tue, 2005-Jan-04 15:47:48 -0800, Julian Elischer wrote:
>
>>One thing that needs to be done is an 2ndary storage fsck.
>>that doesn't try put everything in RAM.
>
>
> Agreed but VM is different to physical RAM.
>
>
>>Basically this will mean extracting all the metadata from filesystems into
>>files and running sort operations of various kinds on them
>>to order the data in ways that allows consistencies to be checked.
>
>
> How do you determine where the disk space comes from? You can't
> safely use the filesystem being checked because you can't safely write
> to it until the fsck has completed. _Any_ filesystem picked
> automatically may not have sufficient free space to do an fsck.
> (Older Unices prompted for a temporary directory for work files).
One assumes you also have a smaller (say 100GB temp filesystem that you can
newfs on boot.. or some other similar system..
Here we have our own fsck that acts differently, and we do /var
with the regular fsck first and then use it as a place to store the logfiles
of the main fsck runs on our TB raids using our modified fsck.
>
> Overall, the most likely location for free space is swap. I'd therefore
> suggest that rather than moving back to using temporary files, we look
> at how to better use swap space:
swap may not be big enough either..
> - Look into reducing VM requirements (600MB per TB seems high)
I only report what it does..
> - Tweak data structures to maximise locality of reference (traversing
> linked lists is extremely slow when your list won't fit into RAM)
> - Give fsck the ability to split into multiple processes to avoid process
> size limits - usr socketpair()s to allow a "master" process to delegate
> work ala dump(8).
still only DELAYs the problem.
>
> The downside of using swap is the possibility of over-writing a crash dump.
>
More information about the freebsd-arch
mailing list