DragonFly 2.6.2, 2.7.2 tags pushed - fixes for serious HAMMER issue

From:

Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>

Date:

Mon, 19 Apr 2010 08:55:00 -0700 (PDT)

A serious HAMMER corruption issue came up soon after the release.
This issue can occur when a HAMMER filesystem becomes full or nearly
full and reblocking occurs while the filesystem is also loaded down
with other write activity. The reblocking activity itself can cause
an almost-full filesystem to temporarily become full.
People running 2.6 or HEAD should update to the latest on the branch
ASAP.
ISOs and IMGs will be available on the site later this evening.
--
The corruption can only occur if your HAMMER filesystem became full
or nearly full sometime in the last 45 days or so with a kernel built
sometime in the last 45 days. To check for the corruption you need
an unmounted or completely idle filesystem and then run (using the
latest hammer utility):
hammer -f <device> checkmap
and
hammer -f <device> show | egrep '^B' | egrep -v '^BM'
checkmap runs in a fairly short period of time. Show reads basically
every block on the filesystem and verifies all the CRCs and can take
quite a while to run.
Any records output, other than the volume summary checkmap always
prints, is an indication of a problem. In this case there isn't much
that can be done except to ensure the system is updated and
copyoff/reformat/copyback the filesystem.
If using mirror-read to copyoff remember it must be run on every PFS
individually, and bulk mode (-B) is recommended, and make sure any
backups are viable before smashing the original filesystem.
--
If you do NOT have any corruption then simply updating your kernel
is sufficient.
-Matt
Matthew Dillon
<dillon@backplane.com>