Date: Mon, 17 Mar 2003 12:22:33 -0800 (PST) From: Julian Elischer <julian@elischer.org> To: FreeBSD current users <current@FreeBSD.ORG> Cc: fs@freebsd.org Subject: Anyone working on fsck? Message-ID: <Pine.BSF.4.21.0303171204380.70394-100000@InterJet.elischer.org>
next in thread | raw e-mail | index | archive | help
Is there anyone working on fsck? Recent timings with a fast machine with 1TB filesystems show that it takes abuot 6 hours to fsck such a filesystem (on a fast array with a lot of RAM) This is with a version of fsck that already has some locally developed speedups and changes. I have not dared time the standard one yet. Pass 1 takes 2 hours on its own. but the cpu is only about 5% busy. Looking at the access patterns on the drive suggests that there MAY be some chance to speed this up using such things reading in teh active cylinder group in advance, and performing the indirect block checks in another thread/process. Does anyone have any plans to work on this sort of thing? On another issue: The memory requirements for fsck are about 700MB+ per TB of filesystem on FreeBSD4.x With the advent of UFS2 this increases, and the filesyste,s can also get bigger. This means that a 2+TB UFS2 filesystem will be IMPOSSIBLE to check on an i386 machine. One solution is to implement an "offline, non-in-place" filesystem checker using all those techniques we all learned in CS101 relating to mag-tape merge sorts etc. basically you'd have to have a small disk partition set asside to hold working files, to which teh checker would write files of records detailing block numbers etc. then you would do merge or block sorts on those files to get them in various orders (depending on fields in the records) And recombine them to find such things as: multiple referenced blocks, and other file inconsitancies. It wouldn;t be super fast but at least it COULD be used to check a 30TB array, where the in-memory version would beed a process VM space of 24MB which is clearly impossible on a x86. Julian To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0303171204380.70394-100000>