Help test softupdates journaling (SUJ)

Jeff Roberson jroberson at jroberson.net
Sat Jan 9 01:39:56 UTC 2010


On Sat, 9 Jan 2010, Ivan Voras wrote:

> Jeff Roberson wrote:
>> Hello,
>> 
>> I have been augmenting softupdates with a small journal that will be 
>> processed in lieu of fsck in the event of a crash.  I have written some 
>> about this project here: http://jeffr_tech.livejournal.com/
>
> Good news!
>
>> For now I need volunteers who will attempt to crash the kernel code.  It 
>> now passes fsx, fsstress, and stress2 on my box for many hours.  pho@ has 
>> been helping me and may still have a bug or two but I need a wider audience 
>> so we can be comfortable with the stability.  In a week or so I will also 
>> provide the checker.  Until then a full fsck is required after a crash.
>
> Hi,
>
> Do you mean that journal replay/recovery is implemented but not 100% working 
> yet so a fsck is needed or that it is still missing?

Hi Ivan,

It is implemented.  You can search for suj.c in the patch if you would 
like to review the source.  It is part of fsck_ffs.  Currently it does not 
have perfect information from the kernel in some cases.  I'm working on 
fixing those now, and I believe I know what all of them are.

For the next step in testing I will ask volunteers to run the suj recovery 
stage followed by a full filesystem check.  If the full check turns up any 
problems we will know the recovery stage is not yet perfect.  The recovery 
code produces a text log when the -d flag is supplied which produces about 
10MB of text for every 1MB of journal but tells me exactly what happened 
as diagnosing these problems can be quite difficult.

I also need to work on performance some although it tends to take only a 
couple of seconds for each valid megabyte in the journal.  I suspect the 
final maximum journal size will be around 32MB which would limit fsck to 
around a minute in the worst case of 1 million valid journal records.

Thanks,
Jeff

>
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
>


More information about the freebsd-current mailing list