Help test softupdates journaling (SUJ)

Gary Jennejohn gary.jennejohn at freenet.de
Mon Jan 18 16:50:38 UTC 2010


On Fri, 8 Jan 2010 14:56:45 -1000 (HST)
Jeff Roberson <jroberson at jroberson.net> wrote:

> 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/
> 

For some reason I can't access this location.  Hmm, firefox doesn't seem to like
the '_'.

> To install you will need to apply http://people.freebsd.org/~jeff/suj.diff to a 
> recent current source tree.
>

I had to apply part of the patch by hand, namely sys/ufs/ufs/ufs_lookup.c
here (but only this block, all other patches applied OK)
@@ -1221,21 +1210,29 @@ ufs_dirrewrite(dp, oip, newinum, newtype, isrmdir)

> You can enable suj by running tunefs -j enable /dev/{device}.
>

For some reason I was unable to enable SUJ on /usr.  I see the error
"insufficient contiguous free space for the journal", even though /usr
has 31GB free:
Filesystem      Size    Used   Avail Capacity  Mounted on
/dev/ada0s1e     63G     27G     31G    46%    /usr

/usr does have lots of fragments, but it seems like, with 31GB free,
the kernel should be able to find 64MB of free, contiguous space.

I didn't try specifying a journal size, however.

Kind of inconvenient having /usr without soft-updates :(

However, on all other filesystems (/ doesn't use SU) turning on SUJ worked:
/dev/ada0s1a on / (ufs, local)
/dev/ada0s1d on /var (ufs, local, soft-updates)
/dev/ada0s1e on /usr (ufs, NFS exported, local) <== fails
/dev/ada0s1f on /home (ufs, NFS exported, local, soft-updates)
/dev/ada1a on /oldzfs (ufs, NFS exported, local, soft-updates)
/dev/da1a on /uvbox (ufs, local, soft-updates)
/dev/ada0s1g on /opt (ufs, NFS exported, local, soft-updates)

---
Gary Jennejohn


More information about the freebsd-current mailing list