On 2011-04-07 15.06, Otto Moerbeek wrote: > On Thu, Apr 07, 2011 at 02:34:27PM +0200, Benny Lofgren wrote: > >> On 2011-04-07 11.08, Otto Moerbeek wrote: >>> Hi, >>> >>> I got little feedeback on this diff posed in a rather long thread, so >>> I am posting it again. >>> >>> Please test this, it makes fsck_ffs much faster (especially with -p) >>> and less memory hungry in a lot of cases. >> >> I've run it on a variety of file systems now and first of all, it seems >> to work without regressions. It also looks like it has about 2/3 of its >> previous memory footprint. However, I see very little increase in speed: > > Were your filesystems mounted with softdep? Also, the most gain is > realized with ffs1 filesystems.
Apart from the / file system they had been mounted with softdep, yes. However they were of course unmounted when I ran fsck_ffs. Does softdep actually alter the physical file system structure on disk? I have always been under the impression that softdep affects stuff like how things are buffered and the order of which things are written to disk rather than *what* is written, am I mistaken? And yes, they were all ffs1 filesystems. I have a 13 TB ffs2 file system on that machine as well, didn't try that now because I wanted to fire off a quick reply to your request for testing, and also you mentioned that ffs2 is less (if at all) affected by this patch. I'll be glad to run a test against that volume as well, if you think there's an interest. Expect about 50 minutes a run for one pass with the old and one pass with the new code though. :-) Regards, /Benny >> Unpatched, run with time /sbin/fsck_ffs -pf /dev/rraid0[adefghi]: > [snip] >> 1m20.35s real 0m2.57s user 0m4.29s system >> >> Patched, run with time /root/fsck_ffs -pf /dev/rraid0[adefghi]: >> > [snip] >> 1m18.52s real 0m1.32s user 0m3.85s system >> >> The file systems are organized like this: >> >> skynet:~/fsck_ffs_patch# dumpfs -m /dev/rraid0a >> # newfs command for /dev/rraid0a >> newfs -O 1 -b 16384 -e 4096 -f 2048 -g 16384 -h 64 -m 5 -o time -s >> 525856 /dev/rraid0a >> skynet:~/fsck_ffs_patch# dumpfs -m /dev/rraid0d >> # newfs command for /dev/rraid0d >> newfs -O 1 -b 16384 -e 4096 -f 2048 -g 16384 -h 64 -m 5 -o time -s >> 4197120 /dev/rraid0d >> skynet:~/fsck_ffs_patch# dumpfs -m /dev/rraid0e >> # newfs command for /dev/rraid0e >> newfs -O 1 -b 16384 -e 4096 -f 2048 -g 16384 -h 64 -m 5 -o time -s >> 8390400 /dev/rraid0e >> skynet:~/fsck_ffs_patch# dumpfs -m /dev/rraid0f >> # newfs command for /dev/rraid0f >> newfs -O 1 -b 16384 -e 4096 -f 2048 -g 16384 -h 64 -m 5 -o time -s >> 16780800 /dev/rraid0f >> skynet:~/fsck_ffs_patch# dumpfs -m /dev/rraid0g >> # newfs command for /dev/rraid0g >> newfs -O 1 -b 16384 -e 4096 -f 2048 -g 16384 -h 64 -m 5 -o time -s >> 41944320 /dev/rraid0g >> skynet:~/fsck_ffs_patch# dumpfs -m /dev/rraid0h >> # newfs command for /dev/rraid0h >> newfs -O 1 -b 16384 -e 4096 -f 2048 -g 16384 -h 64 -m 5 -o time -s >> 12583680 /dev/rraid0h >> skynet:~/fsck_ffs_patch# dumpfs -m /dev/rraid0i >> # newfs command for /dev/rraid0i >> newfs -O 1 -b 16384 -e 4096 -f 2048 -g 16384 -h 64 -m 5 -o time -s >> 7857920 /dev/rraid0i >> skynet:~/fsck_ffs_patch# >> Btw, I noticed a small change in this diff compared to the one you posted >> in the previous discussion thread. I assume this is the correct one to use? > > Yes, though that's the most recent version. > > -Otto >> >> skynet:~# diff fsck_ffs.patch fsck_ffs_2.patch >> 158c158 >> < +++ inode.c 31 Mar 2011 16:34:27 -0000 >> --- >>> +++ inode.c 4 Apr 2011 09:16:36 -0000 >> 203c203 >> < + info[i].ino_state = USTATE; >> --- >>> + SET_ISTATE(i, USTATE); >> >> >> Regards, >> >> /Benny > -- internetlabbet.se / work: +46 8 551 124 80 / "Words must Benny Lvfgren / mobile: +46 70 718 11 90 / be weighed, / fax: +46 8 551 124 89 / not counted." / email: benny -at- internetlabbet.se