Hammer2 related fixes in-tree, plus more

Matthew Dillon dillon at backplane.com
Sat Apr 30 17:53:04 PDT 2022

Both master and release now have fixes for a fairly serious but specialized
hammer2 bug, updates are recommended if you mount more than one PFS from
the same block devices, or if you regularly run things which generate a lot
of write activity ot the filesystem.

The hammer2 bug is in the bulkfree code.  When more than one PFS is mounted
from the same device (which is fairly atypical for most people), there is a
window during the bulkfree where blocks might be marked as completely free
which are actually not free.  If reallocated prior to the completion of the
bulkfree, filesystem corruption can be incurred.

The fix has been tested thoroughly, we basically ran an unpack and the grok
indexer on around 20 million files and periodically ran a bulkfree during
the operation over two days to ensure that the code fixes work properly.


A second bug in the kernel was also fixed, this one related to systems that
process many (typically in the millions) of files and directories that are
in relatively deep directory trees.   The vnode recycler could get into a
situation where it would not be able to make any progress cleaning up
inactive directory vnodes due to dangling namecache references cached by
the system.  A sufficient number of vnodes in this state could fill-up the
inactive vnode list and prevent the system from being able to recycle
vnodes and thus also prevent it from being able to allocate new vnodes.


We will roll a sub-release in a week or two.  The fixes are both in the
release tree and in master so anyone who wishes to update can do so from
system sources with a few simple commands as outlined in our upgrading page:


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.dragonflybsd.org/pipermail/users/attachments/20220430/fdd9eaf3/attachment.htm>

More information about the Users mailing list